Можно ли переслать объявление класса enum для использования в производном классе?

В настоящее время я делаю небольшой анализатор для этого простого языка сценариев GUI, который я создаю. Все работает нормально, но мне нужно знать, возможно ли это сделать:

Parser.hpp:

class Parser
{
public:
enum class LineType;
}

GUIParser.hpp:

class GUIParser : public Parser
{
public:
enum class LineType
{
BACKGROUND,
BUTTON,
LABEL,
RADIOBOX,
COMMENT
};
}

Это дает мне ошибку, но если это возможно, то какую синтаксическую ошибку я делаю?

Спасибо за любую помощь!

0

Решение

Это говорит о том, что есть перечисление под названием LineType внутри Parser или же: Parser::LineType ,

В производном классе у вас есть enum LineTypeи его полное имя будет: GUIParser::LineType,

Таким образом, поскольку вы не можете предсказать имя производного класса, вы не можете заранее объявить, что он будет содержать.

Такова логика, более простой ответ: нет, это не в стандарте.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]