char* n=m.getName();
对于上述说明,我收到以下错误Invalid arguments ' Candidates are: char * getName() '
。我错过了什么?
char* Medicine::getName()
{
return this->name;
}
name
声明为char name[50];
,m
声明为const Medicine& m
答案 0 :(得分:9)
如果m
为const
,则只能调用const
个方法。也许你可以改变你的方法
const char* Medicine::getName() const;
并像这样使用它:
const char* n=m.getName();
虽然您可能会考虑使用std::string
数据成员而不是char
数组。
答案 1 :(得分:0)
请注意,如果成员变量是const,则只有const成员函数可以访问它。对于静态也是如此,即如果成员变量是静态的,则只有静态成员才能访问它。