當我將編譯器版本從gcc 4.6切換到gcc 4.8時,出現以下錯誤 錯誤:重載的'isnan(double)'調用不明確。將isnan移植到C++ 11
這是因爲在C++ 11有differend函數聲明: C:INT isnan(雙) C++ 11:布爾isnan(雙)
從cpluplus:
- 在C中,這被實現爲一個返回int值的宏。 x的類型應爲float,double或long double。
- 在C++中,它針對每個浮點類型都實現了函數重載,每個都返回一個bool值。
我該如何解決這個問題?
你怎麼叫它?向我們展示上下文。 –
juanchoupanza建議工作。我之前已經聲明過使用名稱空間,但是我不得不將它預先添加到isnan調用中,因爲它是模糊性的來源。 –
這正是'使用命名空間std'到處都是什麼問題。 –