C ++指针无效函数问题

c++ pointer void function issue

刚开始使用 c++ 在 java 和 python 中进行了一些编码,但一直出现错误:

非标准语法;使用'&'创建一个指向member

的指针

尝试多次更改代码,但无法解决问题。问题出在我的主要函数中的 void setRadius 上。

circleType.h

#include <iostream>
using namespace std;

class circleType {
private:
    double radius;
public:
    circleType();
    void setRadius();
    double getRadius();
}; 

circle.cpp

circleType::circleType() {}

void circleType::setRadius() {
    cout << "what is the radius of your circle:  ";
    cin >> radius;
}

double circleType::getRadius() {
    cout << "your radius is: " << radius << endl;
    return radius;
}

int main() {
    circleType circle;
    circleType::setRadius;
    double radius = circle.getRadius;
    return 0;
}

编辑

已解决,简单的语法错误 - 这解决了我的问题。

circle.setRadius();
double radius = circle.getRadius();
circleType::setRadius;
double radius = circle.getRadius;

第一行没有做任何事情。第二行尝试将 double 类型的变量设置为函数。也许您想调用这些函数?

这就是 non-operator 成员函数调用在 C++ 中的样子:

double area = circle.areaCir(radius);
double circumferance = circle.circumCir(radius);
circle.printCir(circumferance, area);

所以试试这个:

circle.setRadius();
double radius = circle.getRadius();