我正在尝试将一个命名空间中的枚举的别名引入另一个命名空间。虽然我可以声明别名类型的变量,但编译器(gcc 4.1.2)将无法识别任何枚举值。
namespace A
{
enum a { One = 1, Two = 2 };
}
namespace B
{
typedef enum A::a b;
};
A::a a_value = A::One; // Pretty standard
B::b b_value = B::One; // Does not work
B::b c_value = A::One; // Clearly B is a typedef for A
int main (int argc, const char *argv[])
{
return 0;
}
编译器错误是
test.cc:12:错误:“一个”不是“B”的成员。