При вызове функции-члена класса я получаю сообщение об ошибке C3867 - PullRequest
0 голосов
/ 13 сентября 2018

В моей функции-член 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 голосов
/ 13 сентября 2018

Синтаксическая ошибка при вызове функции.

должно быть

n1.displayData();

вместо

n1.displayData;
...