"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 dascoutalso 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.