我有一个程序,其switch
语句类似于:
switch(n)
{
case 0:
/* stuff */
break;
int foo;
case 1:
foo = 5;
break;
case 2:
foo = 6;
break;
}
注意和int foo;
之间。这个声明是无法到达的:如果你遍历程序,你永远不会跨过它。case 0
case 1
使用 Clang 编译时没有警告或错误,但是当我运行它时它似乎被抬高了(尽管这可能是由于其他原因)。
在不可访问的语句中声明一个变量并在可访问的语句中使用它是明确定义的行为,它会起作用吗?