c ++使用函数时调用缺少的参数

时间:2014-11-10 10:31:19

标签: c++ class

void Circle::getXYr() {
    cout << "(x,y,R) = (" << x << "," << y << "," << r << ")" << endl;
}

double Circle::circArea() {
    return (r * r * PI);
}

double Circle::circPeri() {
    return (2 * r * PI);
}

void Circle::printCircle() {
    cout << "Printing circle " << getXYr << endl;
    cout << "Circle Area: " << circArea << endl;
    cout << "Circle Perimeter: " << circPeri << endl;
}

我无法使用printCircle函数:ERROR错误1错误C3867:'Circle :: getXYr':函数调用缺少参数列表;使用'&amp; Circle :: getXYr'创建指向成员的指针

对于接下来的两个函数也是一样的。

1 个答案:

答案 0 :(得分:0)

这是功能,你必须这样称呼它们。请注意括号()

cout << "Printing circle " << this->getXYr() << endl;
cout << "Circle Area: " << this->circArea() << endl;
cout << "Circle Perimeter: " << this->circPeri() << endl;

this->并非明确需要。

您的第二个错误是由于 - &gt; getXYr()未返回值。它返回void。它没有basic_ostream重载。

您应该将getXYr()的逻辑放入printCircle()函数中。或者在不调用cout的情况下调用该函数:

cout << "Printing circle ";
this->getXYr();
cout << "Circle Area: " << this->circArea() << endl;
cout << "Circle Perimeter: " << this->circPeri() << endl;