【发布时间】:2015-07-27 20:33:19
【问题描述】:
在 C 语言中,当您在声明之前使用函数时,编译器假定它不带参数并返回和 int。
如果您的函数返回另一种类型或接受参数,则编译器会产生错误。
如果我创建一个稍后在代码中声明的类的对象,在 C++ 中也会发生同样的情况吗?
【问题讨论】:
-
顺便说一句,自
C99以来,隐式声明已失效(不受标准支持)。只是说。 -
Nope C++ 会很好并且不会引发错误,但是如果您在头文件中声明函数,则将头文件链接到 cpp 文件而不声明函数 C++ 会引发错误,有时可能会非常具有误导性
-
@Canvas 类定义必须在创建该类的实例之前可用。您不能“创建稍后在代码中声明的类的对象”。 (除非已经定义,在这种情况下不需要声明。)
-
@juanchopanza 先生,我不是 C++ 人,所以如果您对 C.1.4 补充一点,
C++11,对我理解会有帮助。 -
@SouravGhosh 这同样适用于 C。如果没有该类型的定义,您无法实例化该类型。