我剛剛從WinXP升級到Seven,我必須將Windows SDK添加到我的項目中才能編譯。刪除C++中名稱衝突的最佳方法
到目前爲止這麼好,但我的第二個項目碰到了一個障礙,'PlayerState'在我的項目中用作類,在Windows SDK(effects.h)中用作枚舉,這顯然會產生錯誤(錯誤C2011: 'PlayerState':'struct'類型重定義)。
解決此問題的最佳方法是什麼?
我已經想到了:
- 重命名,但我會打破命名約定(它確實是球員的狀態')
- 把它在一個命名空間,但後來我應該把每這意味着大量的工作
是否有任何其他方式(可能是一個特殊的MSVC 2010 vay)說排除該文件或某種'undefine'的枚舉或別的東西?
[編輯]答案是,大聲清楚,名人! +1,謝謝大家!
是不是創建命名空間來防止這樣的問題?儘管這需要更多的工作,但我建議這樣做,因爲它似乎是正確的方向。 – slayton