[英]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代码进行编译而不会出错。
C语言中必须使用void参数类型,因为用空参数列表声明的函数可以接受任意数量的任何类型的参数。 这是pre-ANSI C(也称为K&R C)的残余。K&R C不需要函数原型。
此代码无效。 应该是(也将空白更改为更清楚,但问题不关乎它)
int area(void) { return (x * y); }
int area(void)
是成员函数签名— int
是返回的类型, (void)
表示空参数列表。 这是一种C-ism,不应在C ++中使用int area()
表示同一件事。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.