在 C++03 中,可以通过将强类型枚举放入类(或命名空间)中来模拟强类型枚举:
struct MyEnum
{
enum enumName
{
VALUE_1 = 1,
VALUE_2,
};
};
并使用它:
MyEnum::enumName v = MyEnum::VALUE_1;
是否可以在 C 中做类似的事情?如果是,如何?
我试过这样,但当然这不起作用:
struct A
{
enum aa
{
V1 = 5
};
};
int main()
{
A::aa a1 = A::V1;
enum A::aa a2 = A::V1;
struct A::aa a3 = A::V1;
return 0;
}