0
我剛剛被燒死了。編譯我的c代碼時,我沒有啓用警告。我正在使用atof
而不包括stdlib.h
。所以atof
使用默認返回類型爲int
的隱式聲明。所以代碼不起作用。 我想知道隱式聲明的概念是否也適用於C++?在C++中有隱式聲明嗎?
我剛剛被燒死了。編譯我的c代碼時,我沒有啓用警告。我正在使用atof
而不包括stdlib.h
。所以atof
使用默認返回類型爲int
的隱式聲明。所以代碼不起作用。 我想知道隱式聲明的概念是否也適用於C++?在C++中有隱式聲明嗎?
C++不允許implicit function declarations。事實上,即使C99/11也不允許它們。 GCC默認將C編譯爲C89,這就是爲什麼你得到了錯誤的原因。
函數原型在C++中是必需的。你能提供一個證明你觀察到的問題的[SSCCE](http://sscce.org)嗎? –
@GregHewgill:他在談論[this C(mis)feature](https://stackoverflow.com/questions/9182763/implicit-function-declarations-in-c)。 –
@NicolBolas:我明白,但問題是關於C++,而不是C. –