C ++错误:“表达式必须具有整数或枚举类型”

use*_*533 5 c++

我的下面(不完整)函数的语句出现错误“表达式必须具有整数或枚举类型”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":

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Rak*_*kib 5

错误很明显。您只能使用积分类型(integerenumchar等它们转换integral值),或任何表达,其值在整型switch声明。