【发布时间】:2013-06-11 11:01:59
【问题描述】:
我正在使用 BOOST_ENUM 宏并尝试根据我创建的枚举类型的变量编写 switch 语句。我收到 "expression must have integral or enum type" 的错误消息
有没有办法同时使用 Boost 枚举和 switch 语句?
我见过This link,但它说要使用boost::native_value,我收到消息说Boost 命名空间没有native_value 成员。我不知道我是否应该为它包含一个额外的头文件。
有什么想法吗?
示例代码:
BOOST_ENUM(Direction,
(Forward)
(Backward)
)
Direction response = Direction::Forward;
switch (response)
{
case Direction::Forward :
return;
break;
【问题讨论】:
-
“我无法上班”是什么意思?究竟发生了什么?您收到什么错误消息?
-
上面添加了错误信息
-
是否有一个简单的代码示例可以添加到您的问题中?
-
您不断更改您的代码。不要那样做。您的源文件中有哪一个? '动作'还是'方向''::Forward'?