XCode GCC-4.0 vs 4.2
问题描述:
我刚刚将编译器选项从4.0更改为4.2。XCode GCC-4.0 vs 4.2
现在,我得到一个错误:
jump to case label crosses initialization of 'const char* selectorName'
它工作正常,在4.0
任何想法?
答
只是一个猜测 - 你在你的switch-case语句的内部声明变量(可能是const char*
) - 你应该把这个大小写包装在{}中来解决这个问题。
// error
case 1:
const char* a = ...
break;
// OK
case 1:{
const char* a = ...
}
break;
答
你可能申报的情况下,内部的变量,而不包裹这一切在一个括号:
case foo:
const char* selectorName;
// ...
break;
应该是:
case foo: {
const char* selectorName;
// ...
break;
}
你确定它是不是“只是”一个警告?无论哪种方式,你应该修复你的代码中的错误和/或在这里发布实际的代码。 – 2010-05-22 21:06:57