4
char* n=m.getName();

上記の命令に対して次のエラーが表示Invalid arguments ' Candidates are: char * getName() 'されます。何が欠けていますか?

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

nameは宣言されchar name[50];mいますconst Medicine& m

4

2 に答える 2

9

mがの場合、メソッドconstのみを呼び出すことができます。constたぶん、方法を次のように変更できます

const char* Medicine::getName() const; 

次のように使用します。

const char* n=m.getName();

std::stringの配列の代わりにデータ メンバーを使用することを検討することもできますが、 char.

于 2013-05-09T16:20:03.890 に答える
0

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

于 2014-08-01T22:48:58.350 に答える