我想創建兩個類:lista和iterator。迭代器將成爲班級名單的朋友。問題是,當我聲明類迭代器時,我得到這個錯誤:迭代器不是模板類。 這是兩個file.h不是模板類
LISTA .H:
*#include "nodo.h"*
template <class T>
class lista{
public :
//all the function
private :
nodo<T> *list;
nodo<T> *tail;
int n;
friend class iterator<T>;
};
iterator.h:
*#include "lista.h"*
template<class Z>
class iterator {
public :
lista<Z> a;
iterator();
};
'朋友類迭代器;'應該是'template 朋友類迭代器''。 –
@BoPersson怎麼這樣? 'T'是類的模板參數。問題是'iterator'在這個時候沒有被定義(在'friend class iterator')。使用前向聲明。 –
Nelfeal
@Nelxiost模板參數不是_inherited_。 –