Der auskommentierte Ausdruck unten kompiliert nicht, da es im globalen Bereich ist. Aber wo finde ich im C++ Standard etwas, das sich auf diese Einschränkung bezieht? Soweit ich mich erinnere, sind Ausdrücke im globalen Gültigkeitsbereich nur erlaubt, globale Objekte zu initialisieren. Ich habe bereits Kapitel 5 Ausdrücke, ohne Erfolg untersucht.In C++ sind Ausdrücke im globalen Gültigkeitsbereich nur zulässig, um globale Objekte zu initialisieren. Wo finde ich das im Standard?
#include <iostream>
//std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
int main()
{
std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
}
Ich denke, eine bessere Art zu sagen ist, dass "nur Deklarationsanweisungen im Namensraumbereich erlaubt sind". –
@KerrekSB "nur Deklarationen" ist mehr wie es. "Deklarationsanweisungen" ist eine begrenzte Teilmenge von Deklarationen –
@ T.C .: Ja, richtig. Ich war davor schon verwirrt. Vielen Dank. –