【发布时间】:2017-12-13 03:24:20
【问题描述】:
int a, b;
cin >> a >> b;
enum operation {add, sub, mul, div};
operation d;
switch (d)
{
case add : cout << "addition of two numbers is: " << a + b << endl;
break;
case sub : cout << "subtraction of two numbers is " << a - b << endl;
break;
case mul : cout << "multiplication of the two numbers is " << a * b << endl;
break;
case div : cout << "division of the two numbers is " << a / b << endl;
default: cout << "invalid parameters" << endl;
}
当我构建它时,我收到错误“使用未初始化的局部变量 d”,但是当我从定义的列表中将变量初始化为一个时,除了定义的那个之外,我无法选择任何其他 switch case。 我知道我错过了一些东西,我用谷歌搜索了很多但无法获得帮助。如果有人能提供帮助,我将不胜感激。谢谢!
【问题讨论】:
-
当你输入开关时,变量d一定已经被赋值了。考虑一下。
-
@kapardhi d 的值从何而来? .您可以使用默认值初始化 d 并读取操作值( add/sub/..._ 从标准输入并将其转换为枚举。
-
Switch 不会产生任何用户交互。
标签: c++ oop enums switch-statement