我重載了C++項目中的增量運算符,但是當我嘗試並調用它時,找不到超載函數。爲什麼找不到重載的操作符函數?
TListIterator<T> & operator ++(void)
{
TListElement<T> *pNext = pCurrent->getNext();
if(pCurrent && pNext)
this->pCurrent = pNext;
return *this;
}
我嘗試並調用像這樣:
(*it)++;
過載的方法是「TListIterator」類的一部分,它是一個指向TListIterator。
我收到的錯誤是:
Error C2676 binary '++': 'TListIterator<T>' does not define this operator or a conversion to a type acceptable to the predefined operator
編輯要介紹的人標記我的問題爲重複到一個你聯繫我:
其他職位直接問你如何區分後增量和增量前重載,因爲我不知道我的調用不起作用的原因是由於重載錯誤的操作符使得我的問題完全不同。
[C++增加運算符]的可能的重複(http://stackoverflow.com/questions/2777375/c-increment-operator) – tkausl
'運算符++'需要是一個東西,比如'operator ++'嗎? – Darkrifts
沒有空間不算數,雖然當我把頭髮拉出來的時候,我嘗試去除空間無濟於事。我會着眼於tkausl – MikeO