我刚才被烧死了编译我的C代码时未启用警告。我在使用atof
而不包含stdlib.h
。因此,atof
使用的隐式声明的默认返回类型为int
。因此代码无法正常工作。
我想知道隐式声明的概念是否也适用于c ++?
最佳答案
C ++不允许implicit function declarations。确实,即使C99 / 11也不允许它们。 GCC默认将C编译为C89,这就是为什么您得到错误的原因。
我刚才被烧死了编译我的C代码时未启用警告。我在使用atof
而不包含stdlib.h
。因此,atof
使用的隐式声明的默认返回类型为int
。因此代码无法正常工作。
我想知道隐式声明的概念是否也适用于c ++?
最佳答案
C ++不允许implicit function declarations。确实,即使C99 / 11也不允许它们。 GCC默认将C编译为C89,这就是为什么您得到错误的原因。