Neue Quelldatei nutzt std::cout nicht



  • Hallo zusammen,
    mein Problem liegt in einer neuen Quelldatei die ich mit zugehöriger Headerdatei erstellt habe.
    In der Headerdatei habe ich meine Variabeln deklariert und anschließend wollte ich sie in der gleichnamigen Quelldatei nutzen.

    Mein erstes Problem tritt aber schon am Anfang der Quelldatei auf.
    Da möchte ich mit std::cout etwas ausgeben. Die Fehlermeldung bzgl. std::cout lautet: "Diese Deklaration hat keine Speicherklasse oder keinen Typspezifizierer".
    Ob #include <iostream> in der Header oder Quelldatei oder bei beiden steht macht keinen Unterschied.

    Ich finde leider in Tutorials und C++ Anleitungen keine Lösung für mein Problem, deswegen frage ich hier.

    Ist es überhaupt möglich eine Ausgabe in einer selbsterstellten Quelldatei zu tätigen?

    Besten Gruß



  • Code und Fehlermeldungen würde mehr sagen als tausend Worte...



  • #include "GuD.h"
    #include <iostream>

    std::cout << Eingabe in MW << std::endl;

    Fehlermeldung bei std::cout : "Diese Deklaration hat keine Speicherklasse oder keinen Typspezifizierer".

    Ich wollte diese neue Datei beginnen wie sonst in der Main.



  • Du kannst sowas wie std::cout << "irgendwas" nur innerhalb einer Funktion aufrufen.



  • Ah okay...
    Das macht Sinn.
    Vielen Dank, das habe ich tatsächlich übersehen.



  • Onid schrieb:

    In der Headerdatei habe ich meine Variabeln deklariert

    Warum?

    In einer Headerdatei deklarierst du Klassen und Funktionen. Selten ggf. auch Forwärtsdeklarationen von Variablen (also mit extern). Im Regelfall werden dort aber keine Variablen definiert (ich nehme aber mal an, dass du das mit "deklariert" meintest). Das führt zu Problemen beim Linken, wenn du dein Programm in mehreren Schritten übersetzt. Dann gibt es diese Variablen nämlich mehrfach: einmal pro Übersetzungseinheit.


Log in to reply