0
使用MSVC 2013年,我遇到了錯誤:編譯器錯誤C2059:語法錯誤 '型'
compiler error C2059: syntax error 'type'
爲
inline double min (double a, double b) { return a < b ? a : b; }
我看不出有什麼不好?
使用MSVC 2013年,我遇到了錯誤:編譯器錯誤C2059:語法錯誤 '型'
compiler error C2059: syntax error 'type'
爲
inline double min (double a, double b) { return a < b ? a : b; }
我看不出有什麼不好?
這是因爲min
已經被定義爲宏通過標準的Windows標題:
#define min(a,b) (((a) < (b)) ? (a) : (b))
取代min
通過mymin
它將編譯罰款或寫:
#undef min
inline double min (double a, double b) { return a < b ? a : b; }
的Visual C++不支持inline
關鍵字,所以只需刪除它,它應該工作。或者您可以使用__inline
,但這不是標準。
這是部分正確的。 VC++不支持C的'inline'。我知道這個問題被標記爲'C',然而,人們可能會閱讀你的答案,並且認爲Visual Studio中的C++編譯器不支持這個關鍵字。所以我想作出澄清。有關參考,請參閱https://msdn.microsoft.com/en-us/library/z8y1yy88.aspx。 –
從來沒有嘗試過使用MS C編譯器的'inline'。誰知道? (詭計的問題;顯然*你*和馬呂斯做的)。如果'windows.h'嗤嗤我*認爲*你仍然必須#define NOMINMAX([ala這個問題](https://stackoverflow.com/questions/14165/strange-c-errors-with-code-that-有最小最大呼叫))如果你這樣做。我沒有一個方便的winbox,所以我無法驗證。 – WhozCraig