#include <iostream> using std::cout; using std::endl; class square { public: double length,width; square(double length,double width); square(); ~square(); double perimeter(); }; double square::perimeter() { return 2*square.length + 2*square.width; } int main() { square sq(4.0,4.0); cout << sq.perimeter() << endl; return 0; }
我正在尝试编写一个简单的类程序.我收到错误
在成员函数’double square :: circles()’;
.cpp:21:error:”之前的primary-expression代币
.cpp:21:error:”之前的primary-expression代币
这是否意味着我必须使用2 * square :: length 2 * square :: width?
解决方法
正方形是一种,不是物体;代替
return 2*square.length + 2*square.width;
做
return 2*length + 2*width;
(其隐含地与以下相同:
return 2*this->length + 2*this->width;
你可能,或者请不可以,为了清楚起见).
2 * square :: length 2 * square :: width如果长度和宽度都是有效的语法
>正方形的静态成员,或>某些基层广场的成员,或>某些命名空间中的对象正方形