作者tyc5116 (累人啊....)
看板C_and_CPP
標題[問題] operator
時間Tue Jun 5 16:32:41 2012
關於operator有些問題不了解,如下(節錄部份)
class GMMtors
{
public:
GMotor* operator[](String NameIndex) const;
private:
map<String,GMotor*> m_MMotors;
};
GMotor* GMMtors::operator[](String NameIndex) const
{
if (!this->m_MMotors.count(NameIndex))
{
return this->m_MMotors[NameIndex]; //這裡出錯
}
}
[C++ Error]:'operator+' not implemented in type
'map<AnsiString,GMotor *,less<AnsiString>,
allocator<pair<const AnsiString,GMotor *> > >'
for arguments of type 'AnsiString'
本來是想避掉在無形中自己插入新的元素,結果發現這個問題
看了錯誤訊息,但不是很懂這個opeerator+是在哪邊會被用到?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.163.42
※ 編輯: tyc5116 來自: 111.251.163.42 (06/05 16:36)
推 shadow0326:map::operator[]非const,不能在const method裡呼叫 06/05 16:44
推 iamstudent:那operator[]要寫兩個版本。一個const、一個可寫入 06/05 19:21