@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...
  • Вопрос задан
  • 2619 просмотров
Решения вопроса 1
@Lol4t0
Просто так нельзя обявить, так же как нельзя объявить таким образом класс

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

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

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