2012-11-05 12 views
6

Bağlı bir liste yazıyorum ve Listem sınıfında bir yineleyici sınıfım var. = İşlecini aşırı yüklemek istiyorum ancak başlatmak için doğru sözdizimini bilmiyorum.Yuvalanmış bir sınıfın operatörü nasıl yüklenir?

Bu benim kod

class List{ 
    //member stuff 
    class Iterator{ 
     private: Node* current; 
     public: Iterator& operator=(const Iterator& right); 
     } 
} 

içinde ne var ben bu çalışıyorum ama bu doğru olup olmadığını emin değilim.

List::Iterator::operator=(const Iterator& right){ 
//stuff 
} 

Herkes açıklayabilir mi?

List::Iterator& List::Iterator::operator=(const Iterator& right){ 
//stuff 
} 
+0

Tamam eksi görünüyor

List::Iterator::operator=(const Iterator& right){ //stuff } 

ihtiyacı olması: – chris

cevap

8

düşüncelerinizi doğru olduğunu açıklığa kavuşturmak için, ancak fonksiyon bildiriminde bir dönüş türü unuttum parametre tipinde eksik dönüş tipi ve çözünürlük eksikliği.
+0

Teşekkürler! Tam olarak aradığım şey bu. – Instinct

0
List::Iterator& List::Iterator::operator=(const Iterator& right) {...} 
^^^^^^^^^^^^^^^ 
0
List::Iterator& List::Iterator::operator=(const List::Iterator& right) 
{ 
    //... 
} 
+0

Geçerli, ancak işlev parametre türü zaten 'List :: Iterator' sınıfı kapsamında. – aschepler

İlgili konular