C++ 在C++;课题
在C语言中,当您在声明函数之前使用函数时,编译器假定它不带参数,并返回和int。C++ 在C++;课题,c++,class,C++,Class,在C语言中,当您在声明函数之前使用函数时,编译器假定它不带参数,并返回和int。 如果您的函数返回另一个类型或接受参数,则编译器将产生错误。 如果C++中C++中没有一个类声明,则在C++中是否发生同样的事件?在代码中声明的类?< p>没有隐式声明,既没有类也没有函数。所以你的问题并不直接适用 如果调用函数或创建给定类型的对象,则必须在首次使用之前声明该函数/类型。功能不一定要定义。类只需要在实际实例化它们或将它们用作(成员)变量时定义。当只需要指向一个类的指针时,不需要声明,因为向前的声明是足
如果您的函数返回另一个类型或接受参数,则编译器将产生错误。
如果C++中C++中没有一个类声明,则在C++中是否发生同样的事件?在代码中声明的类?< p>没有隐式声明,既没有类也没有函数。所以你的问题并不直接适用
如果调用函数或创建给定类型的对象,则必须在首次使用之前声明该函数/类型。功能不一定要定义。类只需要在实际实例化它们或将它们用作(成员)变量时定义。当只需要指向一个类的指针时,不需要声明,因为向前的声明是足够的,直到分配了实际对象的内存或调用对象的函数。C++中的< P>没有隐式声明,既没有类也没有函数。所以你的问题并不直接适用
如果调用函数或创建给定类型的对象,则必须在首次使用之前声明该函数/类型。功能不一定要定义。类只需要在实际实例化它们或将它们用作(成员)变量时定义。当只需要指向类的指针时,不需要声明,因为在实际对象的内存分配或调用对象上的函数之前,前向声明就足够了。顺序并不重要。如果您引用了一个尚未声明的函数(只有签名和返回类型,没有实现),那么编译器将抛出一个错误。函数的定义可以等到链接时间。AFIK,C++中没有隐式声明。 通常将函数声明放在头文件中。传统上,翻译单元导出的符号(通常是一个独立的源文件,例如,
hello.cpp
)将通过类似命名的头文件(例如,hello.h
)提供。然后在源文件中执行。然后,每个翻译单元可以包含来自其他翻译单元的头文件(例如,other.h
)
每个翻译单元都单独编译(即,源文件,如
hello.cpp
;所有#include
预处理语句都被要包含的文件的实际内容所替换)。在链接时,不同翻译单元中的函数实现被链接在一起。如果此链接步骤失败,则仍然会遇到错误。顺序很重要。如果您引用了一个尚未声明的函数(只有签名和返回类型,没有实现),那么编译器将抛出一个错误。函数的定义可以等到链接时间。AFIK,C++中没有隐式声明。
通常将函数声明放在头文件中。传统上,翻译单元导出的符号(通常是一个独立的源文件,例如,hello.cpp
)将通过类似命名的头文件(例如,hello.h
)提供。然后在源文件中执行。然后,每个翻译单元可以包含来自其他翻译单元的头文件(例如,other.h
)
每个翻译单元都单独编译(即,源文件,如
hello.cpp
;所有#include
预处理语句都被要包含的文件的实际内容所替换)。在链接时,不同翻译单元中的函数实现被链接在一起。如果链接步骤失败,则仍然会遇到错误。早期C++版本中,如果定义函数
一书中找到介绍,c++入门
函数章节
C99
以来,隐式声明已变得无效(不受标准支持)。NoC++是很好的,不会出错,但是如果你在头文件中声明一个函数,将头文件链接到一个CPP文件,而不声明函数C++,那么它会抛出一个错误,有时它会非常错误。misleading@Canvas在创建该类的实例之前,该类定义必须可用。您不能“创建稍后在代码中声明的类的对象”。(除非它已经被定义,在这种情况下,声明是不必要的)。先生,JunChanopAZA先生,我不是C++人,所以如果你稍微添加了关于C.1.4,<代码> C++ 11 ,我将有助于理解。@ SavaGHOSH同样适用于C.,你不能实例化一个类型,而不必有那种类型的定义。自C99
以来,隐式声明已变得无效(标准不支持)。NoC++是很好的,不会出错,但是如果你在头文件中声明一个函数,将头文件链接到一个CPP文件,而不声明函数C++,那么它会抛出一个错误,有时它会非常错误。misleading@Canvas在创建该类的实例之前,该类定义必须可用。您不能“创建稍后在代码中声明的类的对象”。(除非它已经被定义,在这种情况下,声明是不必要的)。@ JuangopangZa先生,我不是C++人,所以如果你善意地添加了关于C.1.4,<代码> C++ 11 <