我正在移植使用MS Visual Studio編寫的代碼。對於枚舉MS Visual Studio允許用戶指定這樣的類型:將C++代碼從MS Visual Studio移植到Linux並處理鍵入的枚舉
enum SystemStatus:BYTE {OK = 0,NeedsAttention,Failed};
這裏字節是無符號的字符
參考http://msdn.microsoft.com/en-us/library/2dzy4k6e.aspx
這會導致錯誤,當我試着和G ++ 4.1.2版附帶的RedHat 5.6編譯代碼。顯然,新的C++標準C++ 0x支持強類型枚舉:http://en.wikipedia.org/wiki/C%2B%2B0x#Strongly_typed_enumerations
有沒有簡單的方法來解決這個問題,並獲得代碼移植?如果可能的話,我們希望代碼能夠在Windows和Linux中編譯。這個項目中的枚舉數是巨大的!謝謝。
你必須使用這樣一箇舊的編譯器嗎? GCC 4.6.1在C++ 0x模式下接受這個。從源代碼構建編譯器也非常簡單。 –
語法對於枚舉非常簡單,因此您可以使用圖案化搜索和替換來處理源代碼文件。 – QuentinUK
我可以移動到GCC 4.4的RHEL 6(或CentOS 6),那會有訣竅嗎? –