Почему здесь нет доступа к enum? - PullRequest
3 голосов
/ 21 ноября 2019

Вот мой код / ​​пространство имен :

namespace myNamespace { 

enum MyType {
    ASD1,
    ASD2,
    ASD3
};

struct MyClass {
    MyType mMyType;

    MyClass(MyType myType = MyType::ASD1) : mMyType(myType) {

    }
};

}

Теперь, если я попытаюсь, в другой структуре, этот код:

struct X
{
    myNamespace::MyClass *pMyClass1 = new myNamespace::MyClass(myNamespace::MyType::ASD2);
};

, он работает отлично, ноесли я попробую это:

struct X
{
    myNamespace::MyClass mMyClass1(myNamespace::MyType::ASD2);
};

там написано 'myNamespace::MyType::ASD2' is not a type.

Так как все это было объявлено ранее, почему это?

...