Buonasera,
sto cercando di utilizzare delle classi annidate per creare un iteratore associato ad una classe myvector.
Il file myVector.h contiene il codice:
nel file .cpp il codice associato alle funzioni first e last è: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 };
ma mi restituisce l'errorecodice: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; }
non riesco a capire dov'è che sbaglio....codice:expected constructor, destructor, or type conversion before "myVector"![]()

Rispondi quotando
perator+(myVector<T>::Iterator, int)' must take either zero or one argument
