【发布时间】:2014-05-22 17:06:34
【问题描述】:
我在下面我的(不完整)函数的switch 语句中收到错误“表达式必须具有整数或枚举类型”。我已经盯着它看了一会儿,无法弄清楚这是怎么回事。任何见解都非常感谢。
std::string CWDriver::eval_input(std::string expr)
{
std::vector<std::string> params(split_string(expr, " "));
std::string output("");
if (params.size() == 0)
{
output = "Input cannot be empty.\n";
}
else
{
switch (params[0])
{
case "d":
}
}
}
【问题讨论】:
-
它有什么令人困惑的地方?错误告诉你发生了什么。你在哪里读到你可以在
std::string上switch? -
也许你错过了字符串不是整数类型的点?
-
在 C/C++ 中,不能开启字符串或其他复合类型。
-
您是否打算开启 params[0][0]? IE。字符“d”?
标签: c++