char* n=m.getName();
對於上面的指令,我得到以下錯誤Invalid arguments ' Candidates are: char * getName() '
。我錯過了什麼?類中的參數無效
char* Medicine::getName()
{
return this->name;
}
name
被聲明爲char name[50];
和m
是const Medicine& m
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成員函數可以訪問它。靜態相同,即,如果成員變量是靜態的,則只有靜態成員才能訪問該成員變量。
如果有明顯的反對票的理由,我想聽聽他們。我更願意修復此答案中的錯誤,或者在必要時澄清錯誤。 – juanchopanza 2013-05-09 16:22:34
謝謝,我會去找一些'string'教程 – Matt 2013-05-09 16:38:21
@juanchopanza有人已經投票了回覆?真的嗎?什麼?爲什麼?! – 2013-05-09 17:09:06