我將一些Crucible C++ Windows代碼移植到Linux,它在每個類中使用稱爲「open」和「close」的函數......非常糟糕風格還是?幸運的是,這在Windows中不是問題,因爲它們的系統調用名稱不同。當我嘗試調用systemcalls open()或close()時,我得到了一些有關「沒有匹配函數調用類:open()」的編譯器錯誤。我不能在整個代碼中重新命名我們所有名爲「class :: open」和「class :: close」的函數,而且我必須使用open()和close(),因爲我正在使用串行端口。移植C++ - 代碼從Windows到Unix:systemcalls與函數名衝突
所以我的問題是:我怎麼能告訴編譯器,我打開的意思是?我如何在C++中轉義或隱藏類的名稱空間?
您在Linux上使用哪種編譯器? – 2010-03-24 12:20:28
gcc版本4.4.1 – marvin2k 2010-03-24 12:25:16