case里面for循环中初始化变量的问题。
#include <iostream>using namespace std;int main(void){ int x; cin>>x; //for(int i=0;i < 10;i++) //cout<<i<<endl; switch(x) { case 1: cout<<"1"<<endl; break; case 2: for(int i=0;i < 10;i++) cout<<i<<endl; break; default: cout<<"default"<<endl; } return 0;}
--------------------Configuration: test - Win32 Debug--------------------Compiling...test.cppF:\test\test.cpp(21) : error C2361: initialization of 'i' is skipped by 'default' label F:\test\test.cpp(17) : see declaration of 'i'Error executing cl.exe.test.exe - 1 error(s), 0 warning(s)
#include <iostream>using namespace std;int main(void){ int x; cin>>x; for(int i=0;i < 10;i++) cout<<i<<endl; switch(x) { case 1: cout<<"1"<<endl; break; case 2: //for(int i=0;i < 10;i++) //cout<<i<<endl; break; default: cout<<"default"<<endl; } return 0;}
#include <iostream>using namespace std;int main(void){ int x; cin>>x; //for(int i=0;i < 10;i++) //cout<<i<<endl; switch(x) { case 1: cout<<"1"<<endl; break; case 2: { for(int i=0;i < 10;i++) cout<<i<<endl; } break; default: cout<<"default"<<endl; } return 0;}