in Klasse, keine ifstream instanz möglich?



  • Hi,

    ich habe folgende Klasse:

    class ReadFile 
    {
    public:
        ReadFile() {}
        ~ReadFile() {}
        void CopyDatainVector();
    	vector<string> code;
    private:
    	ifstream SourceFile("source.es");
    	string ReadString;
    };
    
    void ReadFile::CopyDatainVector() 
    {
    	for(;getline(SourceFile, ReadString);) 
        	code.push_back(ReadString);
    }
    

    ich bekomme die Compiler Fehlermeldung:

    11 C:\Dev-Cpp\ReadFile.h
    invalid data member initialization
    11 C:\Dev-Cpp\ReadFile.h
    (use =' to initialize static data members) 11 C:\\Dev-Cpp\\ReadFile.h (use=' to initialize static data members)

    Was habe ich bitteschön falsch gemacht, kann ich keine ifstream Instanz in meiner klasse anlegen?

    😕

    Danke für jede Hilfe
    🙂
    EGF



  • Der Konstruktor sitzt an der falschen Stelle, dafür gibts die Initialisierungsliste im Konstruktor der Klasse.

    class ReadFile
    {
      ifstream file;
    
      ReadFile()
        : file("source.es")
      {
      }
    };
    


  • danke 😃


Anmelden zum Antworten