c++函数声明
C++ function declaration
我正在看一些c++教程,遇到了类中的函数声明
class CRectangle {
int x, y;
public:
int area (void) {return x*y;}
};
现在我想知道在int区域之后void
的用途是什么?
void
在这种情况下意味着函数不接受任何参数。
还有-语法错误,你可能是指{}
括号,你把分号放在了错误的地方。
int area (void){ return (x*y); }
c++中不需要void形参类型。用空参数列表声明的函数是等价的。它合法的原因是允许C代码编译没有错误。
void形参类型在C语言中是必需的,因为用空形参列表声明的函数接受任意数量的任意类型的形参。这是前ansi C的残余,也被称为K&R C。K&R C不需要函数原型。
此代码无效。它应该是(也改变了空白,以更清楚,但问题不是关于它)
int area(void) { return (x * y); }
int area(void)
为成员函数签名,int
为返回类型,(void)
为空参数列表。这是一个C-ism,不应该在c++中使用- int area()
意味着同样的事情。
相关文章:
- C++:为什么允许在另一个函数中声明函数,而不允许在函数定义中声明?
- 在c++中在类外声明函数有什么好处
- 使用 #define 声明函数
- 在静态库中声明函数,在使用该相同库的应用程序中定义它
- 如何强制编译器在 C/C++ 本身中声明函数?
- 如果您只需要在 .h 文件中声明函数.cpp是否需要在 .h 文件中声明函数?
- C++:<sys/sysctl.h> 无法声明函数CTL_HW和HW_NCPU
- 尝试声明函数的局部变量,但得到范围错误
- 如何在C++模板中声明函数
- 如何在另一个文件的类中声明函数
- 使用非类型模板参数正向声明函数模板
- 在此范围错误中未声明函数错误
- 当我们不能声明函数内联(GCC 编译器)时?
- 未在此作用域中声明函数,即使存在头文件也是如此
- 无法声明函数中的模板类型别名
- 单个CPP文件中多次声明函数声明可以吗?
- 编译一个支持VBA中声明函数的dll
- 使用从外部参数包中获取的参数类型声明函数
- 使用类成员正确地声明函数
- 在函数内重新声明函数