Big*_*olf 3 c++ enums nested class
编译器如何处理类中的枚举定义是否有一般性的方式,如果它可以使用枚举,private:但在public:之后的部分中定义它吗?
代码示例:
class MyClass{
private:
myEnum myMember;
public
enum myEnum { A, B, C };
}
Run Code Online (Sandbox Code Playgroud)
它似乎使用gpp工作,但这是正确的用法?
你需要反过来做
class MyClass{
public:
enum myEnum { A, B, C };
private:
myEnum myMember;
};
Run Code Online (Sandbox Code Playgroud)
所以你在使用之前定义枚举.但是,将枚举的定义公开,但将其存储在私有中是很好的 - 您可能不希望用户能够myMember直接写入,但是您希望他们了解类函数返回的内容myEnum.