vector iterator kann ich keinen wert zuweisen?!



  • ich kann irgendwie keinen iterator vom vector einen wert zuweisen, warum denn nicht?

    std::vector<int>::iterator it;
    it = text.begin()
    

    Fehler:

    error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::_Vector_iterator<_Ty,_Alloc>' akzeptiert (oder keine geeignete Konvertierung möglich)
    [...]



  • Von der Namesgebung text würde ich mal sagen, dass passt nicht zu int.



  • richtig, aber es muss doch bei vector<char> auch text.begin() geben?! Oder wie mach ich dann da den Iterator?...



  • std::vector<char>::iterator it;
    it = text.begin()
    


  • peinlich peinlich 😃
    danke 🙂
    wusste nicht, dass es so einfach ist, dachte iterator muss immer int sein...



  • Willst du für Zeichenketten nicht lieber std::string nehmen? Oder möchtest du wirklich nur einzelne Zeichen speichern (was aber gegen den Namen "text" sprechen würde)?



  • Nexus schrieb:

    Willst du für Zeichenketten nicht lieber std::string nehmen? Oder möchtest du wirklich nur einzelne Zeichen speichern (was aber gegen den Namen "text" sprechen würde)?

    Vielleicht möchte er ja einen Vektor als "string" haben.. 🙂 - Scheint mir so, wenn das text heisst. 😉



  • drakon schrieb:

    Vielleicht möchte er ja einen Vektor als "string" haben.. 🙂 - Scheint mir so, wenn das text heisst. 😉

    Auch eine Möglichkeit - jedem das Seine 😃
    Ich plädiere aber weiterhin für std::string 😉


Log in to reply