调用类的成员函数时,出现错误C3867

时间:2018-09-13 07:12:15

标签: class pointers member-function-pointers

在汽车类的displayData成员函数中,错误提示我应该创建指向该成员的指针,我是否必须创建指向该成员的指针?如果我这样做怎么办?我完全忘记了指针。我是否使对象成为指针然后指向displayData成员函数?我没有看到红色的花键,只是一条错误消息,上面写着“使用'&'创建指向该成员的指针。我尝试过但没有运气。

#include<iostream>
#include<string>

using namespace std;
class Car
{
private:
int xVal, yVal, zVal;

protected:

public:
Car() { int xVal = 0; int yVal = 0; int zVal = 0; }
Car(int x,int y,int z) { xVal = x; yVal = y; zVal = z; }
~Car() {};
int getX() { return xVal; }
int getY() { return yVal; }
int getZ() { return zVal; }
void changeX(int n) { xVal = n; }
void changeY(int n) { yVal = n; }
void changez(int n) { zVal = n; }
virtual void getData();
void displayData();

};

class Sensor : public Car
{
private:
string sensorType;

protected:

public:
Sensor() { sensorType = "EMPTY"; }
Sensor(int x, int y, int z, string type) :Car(x,y,z) { sensorType = type; }


};

void Car::displayData()
{
cout << "The x values is: " << getX() << endl;
cout << "The y values is: " << getY() << endl;
cout << "The z values is: " << getZ() << endl;
}

int main()
{
Sensor n1;
Sensor n2(20,30,40, "Accelerometer");
n1.displayData;
n2.displayData;

return 0;
}

1 个答案:

答案 0 :(得分:0)

调用函数时出现语法错误。

应该是

n1.displayData();

代替

n1.displayData;