iterator innerhalb template-Klasse verwenden
-
Hallo zusammen!
Wenn ich versuche, folgenden code zu übersetzen, erhalte ich eine Fehlermeldung.
Liegt wohl an der Iterator-Definition.template<class KeyType, class ValueType> void DictionaryAsMap<KeyType, ValueType>::print() const { map<KeyType, ValueType>::iterator it; // Fehler! }Was mach ich falsch? Kann mir jemand weiterhelfen?
Gruß heine
-
heine789 schrieb:
Was mach ich falsch?
Du sagst uns nicht wie die Fehlermeldung heißt.
-
heine789 schrieb:
Hallo zusammen!
Wenn ich versuche, folgenden code zu übersetzen, erhalte ich eine Fehlermeldung.
Liegt wohl an der Iterator-Definition.template<class KeyType, class ValueType> void DictionaryAsMap<KeyType, ValueType>::print() const { map<KeyType, ValueType>::iterator it; // Fehler! }Was mach ich falsch? Kann mir jemand weiterhelfen?
Gruß heine
Hi,
Du hast vergessen typename davor zu schreiben.
Es muss so aussehen:template<class KeyType, class ValueType> void DictionaryAsMap<KeyType, ValueType>::print() const { typename map<KeyType, ValueType>::iterator it; // Kein Fehler! ;) }Edit: Und da fällt mir auf, das du eine const Methode schreibst, daher solltest du hier auch const_iterator verwenden sonst hast du bald danach gleich wieder einen Fehler

BR
Vinzenz
-
typename