可能重複:
How do you import an enum into a different namespace in C++?如何typdef一個命名空間的枚舉內的另一個並使用IST C++
如何以下枚舉命名空間的問題解決了嗎?
namespace A {
typedef enum ABar { a, b };
void foo(ABar xx) {}
}
namespace B {
typedef enum A::ABar BBar;
void foo(BBar xx) { A::foo(xx); }
}
int main() {
B::foo(B::a); // 'a' : is not a member of 'B'
// 'a' : undeclared identifier
}
對不起,我改變了這個例子,因此它代表了我真正的問題... – DrFroid
你真的嘗試過嗎?我最初的猜測是這樣的,但這不起作用。 –
問題是,我需要定義一個自己的枚舉,這反映了其他枚舉之一... – DrFroid