1
我的一項任務要求我的代碼在Borland Turbo C++上編譯時沒有錯誤。問題是,我有一個名爲OAConfiguration類,它包含一個枚舉:如何告訴Borland C++一個枚舉在類中?
enum HBLOCK_TYPE{hbNone, hbBasic, hbExtended, hbExternal};
在我的代碼實現功能AllocateBlock功能爲ObjectAllocator類,在那裏我有這樣的語句:
if (OAConfig::HBLOCK_TYPE::hbExternal)
雖然這在VS正常工作,Borland公司說,這是
「在ObjectAllocator :: AllocateBlock(無效*)不是類或命名空間名稱」 0有人請指出正確的語法,我無法找到其他地方的類似問題。
這樣做,非常感謝。所以C++ 11消除了舊的枚舉或者只是增加了新的枚舉?用於索引矢量的枚舉有助於使代碼更易於閱讀,並使跳轉表調用更加簡潔。 –
@ user3218083當然,舊的'enum's仍然是語言的一部分,我敢說它們總是會這樣。這就是爲什麼新的範圍枚舉是由新的關鍵字組合引入的。 「 – Angew
」Visual Studio僅支持將其作爲擴展。「 - 不幸的是,他們缺乏品味可以默認打開它。 –