Iterieren durch Vektor von eigenen Klassenelementen
-
Hallo,
ich habe eine Klasse Symbol erstellt und einen Vektor, der Symbol-Objekte enthält erstellt.
Nun möchte ich durch diesen vektor iterieren.std::vector<Symbol>::iterator it; for (it = x.data_.begin(); it != x.data_.end(); ++it) os << *it << std::endl;
Es gibt folgenden Fehler:
d:\Dev\TheProject\symboldic.cpp(49): error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operator vom Typ 'std::vector<_Ty>::const_iterator' akzeptiert (oder keine geeignete Konvertierung möglich) with [_Ty=Symbol]
Gruss
-
Dein Vektor ist wahrscheinlich konstant, also so:
const std::vector<Symbol> data_;
Auf konstante Container kann man nur mit const_iteratoren zugreifen. Probiers also mal hiermit:
std::vector<Symbol>::const_iterator it;