我见过有人写这样的代码......这有什么意义..
class Test
{
public:
struct MethodEnum
{
enum Enum
{
Method1,
Method2
};
};
};
最佳答案
在 C++11 之前的版本中,enum
的标签没有作用域(这意味着这些标签无需任何 enum
类型的限定即可访问!)。因此,为了使它们具有作用域,程序员编写了这些代码。但在 C++11 中,不需要它,因为您可以使用 enum class
定义 scoped-enum。
所以在 C++11 中,您的代码将如下所示:
class Test
{
public:
enum class MethodEnum
{
Method1,
Method2
};
};
关于c++ - 在类内的结构中定义枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19844485/