Fehlermeldung in Header-Datei
-
Hallo, warum erhalte ich in der Zeile std::vector die folgenden Fehlermeldungen:
Kompilierung läuft...
main.cpp
vc++\simplex\simplex.h(9) : error C2039: 'vector' : Ist kein Element von 'std'
vc++\simplex\simplex.h(9) : error C2143: Syntaxfehler : Fehlendes ';' vor '<'
vc++\simplex\simplex.h(9) : error C2501: 'vector' : Fehlende Speicherklasse oder Typspezifizierer
vc++\simplex\simplex.h(9) : error C2059: Syntaxfehler : '<'
vc++\simplex\simplex.h(9) : error C2039: 'vector' : Ist kein Element von 'std'
vc++\simplex\simplex.h(9) : error C2238: Unerwartete(s) Token vor ';'Hier die Headerdatei:
#ifndef _SIMPLEX_ #define _SIMPLEX_ class simplex { private: //private Variablen int m_zeilen, m_spalten, m_zei, m_spa; std::vector< std::vector<float> >m_arr; //HIER FEHLER //private Methoden void go(); void kleinsten_negativen_wert_suchen(); void kleinsten_quotienten_suchen(); void zeile_auf_eins_bringen(); void einheitsvektor_erzeugen(); bool test_auf_negativen_wert_in_letzter_zeile(); public: simplex(int, int); //Konstruktor: Aufnahme Zeilen und Spalten Ausgangstableau }; #endif
Danke.
-
musst vector includen
-
Wo, in der Header-Datei?
Das kann aber nicht sein, in einer anderen Klasse mach ich es auch nicht und es läuft trotzdem?!?!?!?
-
grapefruit schrieb:
Wo, in der Header-Datei?
yes
grapefruit schrieb:
Das kann aber nicht sein, in einer anderen Klasse mach ich es auch nicht und es läuft trotzdem?!?!?!?
doch, du includest vector indirekt
-
Gut, wenn ich den vector inkludiere, läufts.
Aber warum lässt sich das hier dann fehlerfrei compilieren (meinst du, dass ich in der dazugehörigen cpp-Datei irgendetwas anders gemacht habe, dass das also das indirekte inkludieren ist?)?
#ifndef _MYPARSER_ #define _MYPARSER_ class Parser { private: std::vector <std::string> m_v; std::map <std::string, std::pair<int, int> > m_m; void InitWorte(); void FuelleMap(const std::string &, int, int); void SatzTeilen(const std::string &); public: Parser(); void SatzEinlesenUndDekodieren(int &, int &, int &, int &, int &); }; #endif
-
ja, da hast du in der .cpp wahrscheinlich irgendwie sowas stehen:
#include <vector>
#include "myparser.h"