我想編譯第二生命庫的一小部分。具體而言,它是公共部分。我用VS9在Windows系統中編譯它。我失敗了,編譯器說,它無法識別「_Ios_Openmode」爲「性病」的成員C++第二生命庫的編譯錯誤
相應的代碼如下:
explicit llifstream(const std::string& _Filename, std::_Ios_Openmode _Mode = in)
: std::ifstream(_Filename.c_str(), _Mode)
{
}
誰能幫我找出是什麼問題,我應該改變我的編譯器配置或其他東西?
真的嗎?但代碼是由林登實驗室編寫的。我認爲它有效。修改原始代碼是否好? – 2009-09-01 09:22:16
也許它意味着標準C++庫的不同實現。 Linden實驗室編寫的代碼並不能免除怪異;-)我不知道修改代碼是否是一個好主意,但是如果你想讓它工作並且沒有其他方法,那爲什麼不呢? ;-)也許你可以通過把'namespace std {typedef ios :: openmode _Ios_Openmode; }而不是;-)如果它更好,懷疑。無論如何,你需要確認它首先解決問題。 – 2009-09-01 09:28:32
是的,雖然sbi沒有提及解決方案,但他將其稱爲bug是非常有效的。 – 2009-09-01 09:29:45