在C++中有隐式声明吗?

问题描述:

我刚刚被烧死了。编译我的c代码时,我没有启用警告。我正在使用atof而不包括stdlib.h。所以atof使用默认返回类型为int的隐式声明。所以代码不起作用。 我想知道隐式声明的概念是否也适用于C++?在C++中有隐式声明吗?

+2

函数原型在C++中是必需的。你能提供一个证明你观察到的问题的[SSCCE](http://sscce.org)吗? –

+0

@GregHewgill:他在谈论[this C(mis)feature](https://stackoverflow.com/questions/9182763/implicit-function-declarations-in-c)。 –

+1

@NicolBolas:我明白,但问题是关于C++,而不是C. –

C++不允许implicit function declarations。事实上,即使C99/11也不允许它们。 GCC默认将C编译为C89,这就是为什么你得到了错误的原因。