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