类中的参数无效

时间:2013-05-09 16:18:57

标签: c++ class arguments

char* n=m.getName();

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

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

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

2 个答案:

答案 0 :(得分:9)

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

const char* Medicine::getName() const; 

并像这样使用它:

const char* n=m.getName();

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

答案 1 :(得分:0)

请注意,如果成员变量是const,则只有const成员函数可以访问它。对于静态也是如此,即如果成员变量是静态的,则只有静态成员才能访问它。