类中的无效参数
Invalid arguments in classes
char* n=m.getName();
对于上述指令,我得到以下错误Invalid arguments ' Candidates are: char * getName() '
。我错过了什么?
char* Medicine::getName()
{
return this->name;
}
name
声明为char name[50];
, m
声明为const Medicine& m
如果m
是const
,则只能在其上调用const
方法。也许你可以把方法改成
const char* Medicine::getName() const;
,并像这样使用:
const char* n=m.getName();
尽管您可能会考虑使用std::string
数据成员而不是char
数组。
请注意,如果成员变量是const,只有const成员函数可以访问它。静态也是一样,如果成员变量是静态的,只有静态成员可以访问它。
相关文章:
- std::cin >>上的参数无效
- 结果失败或多个参数无效
- 错误:一元"*"的类型参数无效(具有"int"):使用 mergesort 计算
- 错误 带有模块的一元"*"(具有"int")的类型参数无效
- 由于调用 std::condition_variable 后参数无效而导致应用程序崩溃
- MPI_Iprobe:RMA 调用中的位移参数无效
- 推力::sort_by_key上的配置参数无效
- windres 致命错误:将输出写入时:参数无效
- 一元'*'的类型参数无效(有双精度)
- C++:传递给 C 运行时函数的参数无效
- 矢量模板参数无效
- 写入 -: 参数无效 } 时出错
- winsock2:recvfrom()函数以错误10022(参数无效)结束
- 模板参数的显式指定参数无效,该参数是 constexpr
- 模板参数无效
- 调用 getter 成员时的参数无效
- 模板模板参数中的参数无效
- 方法调用中的参数无效
- POSIX 计时器:参数无效
- C++类模板是一个模板:模板参数无效