【发布时间】:2011-04-08 21:12:58
【问题描述】:
我遇到了以下代码,
class Handler
{
public:
Handler() {}
~Handler() {}
enum HANDLER_PRIORITY {PRIORITY_0, PRIORITY_1, PRIORITY_2};
virtual HANDLER_PRIORITY GetPriority();
private:
HANDLER_PRIORITY m_priority;
}
在 .cpp 文件中我有这个
HANDLER_PRIORITY Handler::GetPrioity()
{
return PRIORITY_0;
}
我收到一个编译错误,“缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int”
我知道 unlinke C, C++ 不支持 default-int 返回。但为什么它不能识别枚举返回类型。如果我用 int/void 替换来自 HANDLER_PRIORITY 的返回类型,或者如果我在类本身中定义方法,它工作正常。 (内联)或将返回类型更改为 Handler::HANDLER_PRIORITY。
我在 VS 2008 上。
【问题讨论】:
标签: c++ visual-c++ enums