Bitte um Hilfe beim Syntaxfehler
-
Vielleicht bin ich blind, aber ich komme nicht dahinter, warum der folgende (vereinfachte und in nur eine Quelldatei komprimierte) Code nicht compiliert:
template <class T > class Vec { public: typedef T* iterator; iterator erase (iterator); private: iterator data, avail, limit; }; template <class T> Vec<T>::iterator Vec<T>::erase /* <-- error: expected constructor, destructor, or type conversion before 'Vec' */ (Vec<T>::iterator position){ return position; } int main() {return 0;}Danke, fuer Eure Tipps
-
template <class T> typename Vec<T>::iterator Vec<T>::erase(typename Vec<T>::iterator position){ return position; }
-
Hi,
da iterator vom Templateparameter T abhängig ist, gehört davor ein typename

template <class T> typename Vec<T>::iterator Vec<T>::erase(...)Und geben deinem Threadtitel das nächste mal einen besseren Namen, wie in diesem Fall zB "Fehler bei Templatedefinition".
-
Besten Dank !! Ich hab's total vergessen ...