Buonasera,
sto cercando di utilizzare delle classi annidate per creare un iteratore associato ad una classe myvector.
Il file myVector.h contiene il codice:
codice:
template <typename T>
class myVector
{
public:
/* Costruttore */
myVector();
class Iterator;
friend class Iterator;
class Iterator {
private:
/*...........*/
public:
Iterator(); /* Costruttore */
};
/* Restituisce un iteratore che punta ad elementi del vettore */
Iterator first(); // Al primo elemento
Iterator last(); // All'ultimo elemento
};
nel file .cpp il codice associato alle funzioni first e last è:
codice:
template <typename T> myVector<T>::Iterator myVector<T>::first()
{
Iterator myIter;
myIter.position = head;
return myIter;
}
template <typename T> myVector<T>::Iterator myVector<T>::last()
{
Iterator myIter;
myIter.position = tail;
return myIter;
}
ma mi restituisce l'errore
codice:
expected constructor, destructor, or type conversion before "myVector"
non riesco a capire dov'è che sbaglio....