为什么我的函数"missing argument lists"?



我不确定我的项目做错了什么。我有两个文件,一个airports.h头文件和一个主源文件。在主源文件中,我有

string code,name;
int deptax, conntime;
cin >> code >> name >> deptax >> conntime;
Airport myAirport(code,name,deptax,conntime);
cout << myAirport.getCode << endl;

在airports.h头文件中我有

class Airport{
public:
    Airport(string code, string name, int departureTax, int connectionTime)
        :code(code),
        name(name),
        departureTax(departureTax),
        connectionTime(connectionTime)
    {...}
    string getCode(){
        return code;
    }//then getName, getDepTax, getConnTime...
}

当我运行主源文件时,我得到错误"错误C3867:‘Airport::getCode’:函数调用缺少参数列表;使用‘&Airport:;getCode’创建指向成员的指针",位于上面的第5行。

我是一个初学者,所以我不知道为什么它告诉我要这么做。.getCode()不应该按照它的编写方式工作吗?当我在网上寻找以前的解决方案时,解决方案总是与"指向成员的指针"错误无关,所以我认为我可能只是在以一种不应该使用的方式使用c++。

cout << myAirport.getCode() << endl;

注意调用函数所需的括号。要求()存在的原因是,一个没有()的函数实际上有一个有效的含义,而且它与调用该函数完全不同。

您需要调用您的函数

myAirport.getCode()

而不是

myAirport.getCode

中缺少()

cout << myAirport.getCode << endl;

在getCode之后,应该是getCode()

相关内容

最新更新