类中的无效参数

Invalid arguments in classes

本文关键字:参数 无效      更新时间:2023-10-16
char* n=m.getName();

对于上述指令,我得到以下错误Invalid arguments ' Candidates are: char * getName() '。我错过了什么?

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

name声明为char name[50];, m声明为const Medicine& m

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

const char* Medicine::getName() const; 

,并像这样使用:

const char* n=m.getName();

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

请注意,如果成员变量是const,只有const成员函数可以访问它。静态也是一样,如果成员变量是静态的,只有静态成员可以访问它。