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 メンバー関数のみがこれにアクセスできることに注意してください。静的の場合も同じです。つまり、メンバー変数が静的である場合、静的メンバーのみがそれにアクセスできます。