"cout" vor Main Funktion



  • Der Präprozessor ist unabhängig vom Compiler. Der Compiler bekommt von den Präprozessordirektiven (z.B. #ifdef ) nichts mit, die hat der Präprozessor entfernt. Für den Compiler steht das cout also schon im "leeren Raum".

    Das mit dem Terminal ist auch irrelevant, folgendes Programm kompiliert ebenso nicht:

    void do_nothing() {}
    
    do_nothing(); // <-- Fehler
    
    int main() {}
    

    Anweisungen außerhalb von Funktionen sind in C++ ganz einfach nicht erlaubt.


Anmelden zum Antworten