C:使用后的类中的枚举定义

编译器是如何处理类中的枚举定义的一般方式,如果它在私有中使用枚举是否有效:但是在公共部分中定义它:之后的部分?

代码示例:

class MyClass{
private:
  myEnum myMember;

public
  enum myEnum { A, B, C };

}

它似乎使用gpp工作,但这是正确的用法?

解决方法:

你需要反过来做

class MyClass{
 public:
  enum myEnum { A, B, C };

 private:
  myEnum myMember;
};

所以你在使用之前定义枚举.但是,将枚举的定义公开,但将其存储在私有中是好的 – 您可能不希望用户能够直接写入myMember,但是您希望他们了解如果类函数返回myEnum是什么.

上一篇:c# – 如何创建一个可以访问创建它的类成员的嵌套类?


下一篇:thinkphp传参第一个回应函数