C ++初学者,我遇到此问题错误C3867

时间:2019-06-27 08:40:19

标签: c++

这是我使用类的第一个c ++项目,我遇到了这个问题 错误C3867

我的main代码是

#include <string>
#include <iostream>
#include "Car.h"
int main() {
  Car c1;
  c1.setMaker("Honda");
  c1.setModel(2018);
  cout << "This Car Made By" << c1.getMaker << "\n";
  cout << "This Car Model" << c1.getModel << "\n";
}

标题是

#pragma once
#include <string>
using namespace std;
class Car {
 private:
  string maker;
  int model;

 public:
  void setMaker(string m);
  string getMaker();
  void setModel(int m);
  int getModel();

cpp是

#include "Car.h"

void Car::setMaker(string l) { maker = l; }

string Car::getMaker() { return maker; }

void Car::setModel(int m) { model = m; }

int Car::getModel() { return model; }

,这是错误消息: error C3867: 'Car::getMaker': non-standard syntax; use '&' to create a pointer to member

我已经尝试了所有初学者都知道的东西,但是我无法使它起作用:(

1 个答案:

答案 0 :(得分:3)

即使该列表为空,您也需要调用以参数列表结尾的函数。

例如

c1.getMaker是getMaker函数的地址

c1.getMaker()实际上调用了函数