我在這裏絕對堅果。我在做一些C++開發Windows和我有一個名爲「界面」命名空間:如何禁用win32'interface'宏?
namespace gd {
namespace interface {
}} // end namespace
然而,有一個名爲「OBJBASE.H」文件,該文件被列入不管我有「WINDOWS.H 「或」Wtypes.h「,其中包含一個名爲」interface「的宏。這個宏不允許我使用名稱空間名稱。 Win32 API中是否有禁用界面宏定義的功能?如果沒有,有人可以想出一個聰明的解決方法來禁用它,而不需要在我的代碼庫中進行太多的批量更改?
'#undef interface'? – delnan 2012-08-07 21:24:55
@delnan我想過一個包裝器,它對我來說是這樣的,但如果我的代碼之外的某個人(它是一個庫)直接使用windows.h,它們將會遇到同樣的問題。在API級別使用某些預處理器定義來禁用它會容易得多 – 2012-08-07 21:26:04