Fehler nicht auffindbar



  • Hallo,
    ich bekomme immer die Fehlermeldung:
    Fehler 1 error C2143: Syntaxfehler: Es fehlt ';' vor 'using', main.cpp zeile 4
    Fehler 2 error C2143: Syntaxfehler: Es fehlt ';' vor 'using' autohausmethoden.cpp
    zeile 4
    Ich kann mir beim besten Willen nicht erklären wieso..
    hier mein Quellcode:

    #include <iostream>
    #include <vector>
    #include "classAutohaus.h"
    using namespace std;
    
    int main()	{
    
    	vector<Autohaus> Daten;
    	Daten.push_back(Autohaus(1000,2000));
    	Daten.push_back(Autohaus(2000,3000));
    	cout << "+ + + Autohaus + + +\n" << endl;
    	for(int i=0; i<2; i++)	{
    		Daten[i].nenneZahlZahl();
    		cout << endl;
    	} 
    	return 0;
    }
    
    //Klasse Autohaus
    #ifndef _classAutohaus_H_
    #define _classAutohaus_H_
    
    class Autohaus{
    
    public:
    		Autohaus(int,int);
    		void nenneZahlZahl(void);
    
    private:
    		int zahl1;
    		int zahl2;
    }
    
    #endif
    
    //AutohausMethoden.cpp
    #include <iostream>
    #include "classAutohaus.h"
    using namespace std;
    
    Autohaus::Autohaus(int zall,int zarhl){
    	zahl1 = zall;
    	zahl2 = zarhl;
    }
    
    void Autohaus::nenneZahlZahl(void)	{
    	cout << "Zahl1: " << zahl1 << endl;
    	cout << "Zahl2: " << zahl2 << endl;
    
    }
    

    Grüße


  • Mod

    Klassendefinitionen müssen mit einem Semikolon abgeschlossen werden.

    Dass der Fehler hier verwirrenderweise in Zeile 4 der main gemeldet wird, liegt da dran, dass es erst dann ein Fehler wird, wenn auf die Klassendefinition etwas anderes als ein Semikolon folgt und diese Stelle ist dann eben nicht am Ende der Klassendefinition, sondern da, wo das erste Mal irgendetwas anderes steht, hier also das using in Zeile 4.



  • Danke!


Anmelden zum Antworten