0
我試圖建立一個列表。 當我嘗試到達類「Iterator」類中的字段「節點」時,出現問題。C++中的嵌套類不工作
#include <iostream>
using namespace std;
template<typename T>
class List{
class Node;
Node* head;
Node* first;
int size;
public:
class Iterator;
List(): head(new Node), first(new Node), size(0){};
void insertFirst(T& element);
void insertFirst(T element);
int getSize();
Iterator& begin();
};
template<class T>
class Iterator{
friend class List<T>;
typename List<T>::Node* node;
List<T>* list;
public:
Iterator(List<T> src):node(NULL), list(&src){}
};
template<class T>
typename List<T>::Iterator& List<T>::begin(){
Iterator it(*this);
it.node=first; <--- ***right here***
return it;
}
我收到「Field'node'could not be resolved」。
我不知道我的代碼有什麼問題。
如果有人能幫上忙,我會非常感謝。
嘗試將其定義爲'class List :: Iterator {...};'。 –
rightfold
在你標記的行之前的行上,嘗試指定Iterator的模板參數:'Iterator it(* this);' –
Turix