Задать вопрос
@tugo

Enum forward declaration — что я делаю не так?

Пытаюсь сделать Enum forward declaration.
Хочется, чтобы enum принадлежал SomeClass.

SomeClass.h
class SomeClass
{
public:
    enum class InnerEnum : int
    {
        A,
        B,
        C
    };
}


OtherClass.h
enum class SomeClass::InnerEnum : int;

class OtherClass
{
private:
    SomeClass::InnerEnum mVariable;
};


Ошибка такая:
error: opaque-enum-specifier must use a simple identifier enum class SomeClass::InnerEnum : int;


UPD
Исчерпывающий ответ stackoverflow.com/questions/13842006/c-forward-dec...
  • Вопрос задан
  • 2631 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    1C-разработчик
    8 месяцев
    Далее
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
Решения вопроса 1
@Lol4t0
Просто так нельзя обявить, так же как нельзя объявить таким образом класс

enum class SomeClass::InnerEnum : int; //not valid
class Outer::Inner; //not valid
class some_namespace::Class; //not valid
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы