ISO-C++ verbietet Deklaration von »map« ohne Typ
-
hi ich habe eine aufgabe in der ich ein wörterbuch mit map realisieren muss.
dazu leite ich methoden von einer überklasse ab und habe in meiner klasse im private teil folgendes stehen:private: map<KeyType,ValueType*> woerterBuch; map<KeyType,ValueType*>::iterator it;und wenn ich das übersetzen will kommt der Fehler:
ISO-C++ verbietet Deklaration von »map« ohne Typhat da irgendwer ne ahnung was ich da machen könnte?
-
Hast du alle nötigen Header berücksichtigt?
-
#include <map> is drin... und die anderen auch
-
poste mal nen stück mehr von der klasse (vor allem die typedefs auf key und value-types)...
und sag dann ma noch dazu, welchen Compiler bzw welche ide du nutzt und falls die fehlermeldung noch länger ist, dann wär der rest wahrscheinlich nich auch gerade uninteressant ^^btw:
map<KeyType,ValueType*>::iterator it;
meist ist es nicht so doll, iteratoren als member zu haben ^^
und in nem wörterbuch weiß ich auch nicht, welchen iterator man als member bräuchte...bb
-
hilfe1234 schrieb:
#include <map> is drin... und die anderen auch
Auf den Namespace geachtet?
std::map<...>
oder
using namespace std;
-
Frager schrieb:
std::map<...>
oder
using namespace std;using namespace nicht im header... da sollte man std:: verwenden
-
zwutz schrieb:
using namespace nicht im header... da sollte man std:: verwenden
Du hast Recht. Trotzdem bist du ein Querulant

-
hey danke genau das war es...std:: ...ahhh
merci
-
welcher compiler/ide gibt dir dann aber so ne komische fehlermeldung:
ISO-C++ verbietet Deklaration von »map« ohne Typ?
versteh ich nich ganz ^^bb
-
unskilled schrieb:
welcher compiler/ide gibt dir dann aber so ne komische fehlermeldung:
ISO-C++ verbietet Deklaration von »map« ohne Typ?
versteh ich nich ganz ^^bb
beim g++ heißt es entsprechend
ISO C++ forbids declaration of 'map' with no typeim grunde also das gleiche
-
leuchted mir noch immer nicht ein, warum er weiß, dass das damit ein Klassentemplate gemeint ist... der MSVC gibt mir die Fehlermeldung, die ich eigtl auch erwartet hätte - das er das '<' da nicht mag...
bb
-
das auch, aber relevant ist immer erst die erste Fehlermeldung... insgesamt sieht es so aus:
xxx.h:95: error: ISO C++ forbids declaration of 'map' with no type xxx.h:95: error: expected ';' before '<' token