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"


Anmelden zum Antworten