1. switch语句
switch case 语句由于会跳过一些case;因此,在作用域外,变量只能定义,不能初始化。
#include <iostream>
using namespace std;
int main(){
bool b = false;
switch(b){
case true:
int jval;
break;
case false:
jval = 10;
cout << jval << endl;
}
}
结果:
10
如果是:
报错,因为 string
隐式地初始化为空字符串。
#include <iostream>
using namespace std;
int main(){
bool b = false;
switch(b){
case true:
string file;
break;
case false:
file = "Hello";
cout << file << endl;
}
}