4
char* n=m.getName();

我收到上述说明的以下错误Invalid arguments ' Candidates are: char * getName() '。我错过了什么?

char* Medicine::getName() 
{
    return this->name;
}

nameis of 声明为char name[50];并且mconst Medicine& m

4

2 回答 2

9

如果mconst,则只能const在其上调用方法。也许你可以改变你的方法

const char* Medicine::getName() const; 

并像这样使用它:

const char* n=m.getName();

尽管您可能会考虑使用std::string数据成员而不是char.

于 2013-05-09T16:20:03.890 回答
0

请注意,如果成员变量是 const,则只有 const 成员函数可以访问它。与静态相同,即如果成员变量是静态的,则只有静态成员可以访问它。

于 2014-08-01T22:48:58.350 回答