My enum is not a class or namespace

前端 未结 4 1958
南笙
南笙 2020-12-05 06:14

Hi I have files called MyCode.h and MyCode.cpp

In MyCode.h I have declared

enum MyEnum {Something = 0, SomethingElse = 1};

class MyClass {

MyEnum e         


        
4条回答
  •  爱一瞬间的悲伤
    2020-12-05 06:36

    The syntax MyEnum::SomethingElse is a Microsoft extension. It happens to be one I like, but it's not Standard C++. enum values are added to the surrounding namespace:

     // header
     enum MyEnum {Something = 0, SomethingElse = 1};
    
     class MyClass {
    
     MyEnum enumInstance;
     void Foo();
    
     }
    
     // implementation
     #include "MyClass.h"
    
     void Foo() {
         enumInstance = SomethingElse;
     }
    

提交回复
热议问题