Я наткнулся на следующий код,
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.но почему бы ему не распознать возвращаемый тип enum.Это прекрасно работает, если я заменю тип возвращаемого значения из HANDLER_PRIORITY на int / void, ИЛИ если я определю метод в самом классе.(встроенный) ИЛИ измените тип возвращаемого значения на Handler :: HANDLER_PRIORITY.
Я на VS 2008.