Iteratoren von Templates in Templates



  • Hallo,

    ich will in einer Template-Funktion, die einen vector<> meines Templates
    als Parameter bekommt, einen Iterator benutzen. Das ganze sieht dann zum
    Beispiel so aus:

    template<class T> void do_something(const vector<T>& v)
    {
    // Funktioniert
    for (unsigned int i=0;i<v.size();++i)
    {
    cout << v[i] << endl;
    }

    // Funktioniert nicht
    vector<T>::const_iterator iter=v.begin();
    }

    Kann mir jemand erklären, warum man vector<T> ja ganz offensichtlich
    benutzen kann, aber keinen Iterator. Das Problem existiert bei allen STL-Klassen.



  • "Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung.



  • typename vector<T>::const_iterator iter=v.begin();
    

    somit machst du compiler klar das sich um einen datentyp handelt.



  • Danke, 🙂 jetzt gehts!


Log in to reply