Creating Object inside class



  • Hallo Forum,
    als ich an meinem Programm arbeitete bekam ich an dieser Stelle einen Error

     ... Code ... 
    ```class Loader
    {
    	
    std::ifstream Read("C:/Test", std::ios::app); //Error 
    };
    

    Als Error bekam ich von Visual Studio ,dass kein Typenspezifierer vorhanden war.
    Nach einer Recherche bei SO wusste ich, wie ich es lösen konnte(initialization lists).
    Nun verstehe ich leider trotzdem nicht welchen Fehler ich gemacht habe und woran es liegt !
    Ich hoffe ihr könnt mir helfen.
    LG



  • @phyton sagte in Creating Object inside class:

    Als Error bekam ich von Visual Studio, dass kein Typenspezifierer vorhanden war.

    Ne, sicher nicht.

    @phyton sagte in Creating Object inside class:

    Nach einer Recherche bei SO wusste ich, wie ich es lösen konnte (initialization lists).

    Warum verwendest Du dann nicht die initialization list des Konstruktors?

    @phyton sagte in Creating Object inside class:

    Nun verstehe ich leider trotzdem nicht welchen Fehler ich gemacht habe und woran es liegt!

    Du hast runde mit geschweiften Klammern verwechselt und/oder <fstream> vergessen:

    #include <fstream>
    
    class Loader
    {
    	std::ifstream Read{ "C:/Test", std::ios::app };
    };
    
    int main()
    {
    	Loader l;
    }
    

    PS: Schreibe bitte ``` über und ``` unter Deinen Code. Oder alternativ markiere Deinen Code und klicke auf </>



  • Ich habe ausversehen bei dem Code Auschnitt meine Include Verzeichnis nicht mit eingefügt.
    So liegt der Fehler daher nicht bei der nicht eingefügten fstream Bibliothek. Ich habe die Intilasation List absichtlich nicht verwendet, weil normalerweise ein normaler Konstruktor reicht(Aber hier halt net).
    LG



  • Die Initialisierungliste ist normal.