小编Ste*_*eee的帖子

成员引用基类型'double'不是结构或联合

我是C++的新手,无法弄清楚如何修复错误,非常感谢您的帮助发生错误的部分我正在尝试将半径输入到cirArea[]数组中,但它似乎不起作用.

这是我的代码的一部分:

int main(){
    Circle *area;
    double cirRadius;
    int numCircle;

    cout << "How many circles?" << endl;
    cin >> numCircle;
    double cirArea[numCircle];

    for (int i = 0; i < numCircle; i++){
        cout << "Enter the radius: ";
        cin >> cirRadius;
        cirArea[i].setRadius(cirRadius);
    }
}
Run Code Online (Sandbox Code Playgroud)

对于setRadius():

void Circle::setRadius(double r){
    if (r >= 0)
        radius = r;
    else {
        cout << "Invalid radius\n";
        exit(EXIT_FAILURE);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以这是错误:

member reference base type 'double' is not a structure or union
            cirArea[i].setRadius(cirRadius);
            ~~~~~~~~~~^~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

c++

5
推荐指数
1
解决办法
4313
查看次数

标签 统计

c++ ×1