在以下C ++程序中:
int opt;
in(opt);
switch(opt)
case(opt == 1):
//and so on…
其中in(opt);
是用于获取整数opt值的过程。
我在这里收到错误:case(opt == 1):
基本上,关键是我想为用户提供一种方法来决定将使用该程序的哪些功能。我也尝试过 char ,但是也没有运气。我只是不知道发生了什么。
答案 0 :(得分:2)
case
块中的switch
标签需要是可在编译时评估的常量表达式(和整数类型)。
由于opt == 1
仅在运行时才知道,因此case (opt == 1)
的编译将失败。
您的意思仅仅是case 1:
吗?
答案 1 :(得分:2)
switch(opt) {
case 1:
break;
case 2:
break;
}
switch
部分表示您正在查看opt
的值;每个case
语句都给出一个可能的匹配值。 case
语句中的值必须是编译时常量。