class X{
public:
X();
};
X::X(){ }
void f(int i){
if(i<10)
//{ goto jump1;
}
X x1;
jump1:
switch(i){
//case 1 :
X x2;
break;
// case 2 :
X x3;
break;
}
}
int main(){
f(9);
f(11);
}
如果把if(i<10)下面的//去掉就会导致一个错误
在switch中,如果把case2前面的//去掉也同样的导致一个错误
???我想问的是,当创建一个对象时,定义它,而不去初始化它就会导致一个错误,下面是调式框里的错误信息
e:\c++\z\z\z.cpp(16) : warning C4533: “goto x1”跳过了“jump1”的初始化操作
e:\c++\z\z\z.cpp(14) : 参见“x1”的声明
e:\c++\z\z\z.cpp(16) : 参见“jump1”的声明
e:\c++\z\z\z.cpp(21) : error C2360: “x2”的初始化操作由“case”标签跳过
e:\c++\z\z\z.cpp(19) : 参见“x2”的声明
生成日志保存在“file://e:\c++\Z\Z\Debug\BuildLog.htm”