c++函数声明

C++ function declaration

本文关键字:声明 函数 c++      更新时间:2023-10-16

我正在看一些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()意味着同样的事情。