如何使用cin"作为参数"在switch语句中

时间:2018-04-21 12:43:04

标签: c++ switch-statement cin

我希望能够使用cin创建一个switch语句,而不必创建一个变量来存储值inputed。例如:

switch(cin){
case 1: std::cout << "Hello World";
break;
default:
break;
}

1 个答案:

答案 0 :(得分:3)

我希望能够使用cin创建一个switch语句吗?不可以,因为switch只需要integral数量但cin是对象班级。来自n4296第6.4节

  

开关(条件)声明

     

condition的值,它是a中的初始化声明   switch语句是声明的变量的值(如果有)   integralenumeration类型,或隐式转换的变量   否则为整数或枚举类型。条件的价值   表达式是表达式的值,在上下文中   为switch以外的语句转换为bool;如果转换   该项目形象不完整,形成不良。

switch(cin)因上述原因导致错误,但您可以使用任何返回integer cin.get()的方法,例如

switch(std::cin.get()) {
   /*... */
}