我希望能够使用cin创建一个switch语句,而不必创建一个变量来存储值inputed。例如:
switch(cin){
case 1: std::cout << "Hello World";
break;
default:
break;
}
答案 0 :(得分:3)
我希望能够使用cin创建一个switch语句吗?不可以,因为switch
只需要integral
数量但cin
是对象班级。来自n4296第6.4节
开关(条件)声明
condition
的值,它是a中的初始化声明switch
语句是声明的变量的值(如果有)integral
或enumeration
类型,或隐式转换的变量 否则为整数或枚举类型。条件的价值 表达式是表达式的值,在上下文中 为switch以外的语句转换为bool
;如果转换 该项目形象不完整,形成不良。
switch(cin)
因上述原因导致错误,但您可以使用任何返回integer
cin.get()
的方法,例如
switch(std::cin.get()) {
/*... */
}