如果我想排除下用枚舉和類型重新定義的問題++我可以使用代碼:C++枚舉redefenition和C++ 0x中
struct VertexType
{
enum
{
Vector2 = 1,
Vertor3 = 2,
Vector4 = 3,
};
};
struct Vector2 { ... };
struct Vector3 { ... };
struct Vector3 { ... };
有沒有一種方法,以消除上述枚舉的包裝。我查看了C++ 0x,但沒有發現有關解決此問題的addiditional inforamtion。
我可能是緩慢的,但可能有人解釋完整的當前代碼是什麼問題?命名空間不會解決這個問題嗎? – ereOn
在C#中,我只能定義一個沒有任何包裝的枚舉,因爲枚舉elemetns只能像EnumName.EnumElement那樣訪問,在C++中EnumElement屬於全局範圍,並且可以在沒有EnumName ::的情況下訪問。 – shadeglare
I.e.在C#中,'EnumName'是封裝器(名稱空間)。 – MSalters