Ich erhalte einen Fehler bei der Kompilierung eines C ++ - Programms, bei dem von den Zeilen ein Aufruf von "std :: system (SomeString)" erfolgt. Dieses Programm wurde vor 3 Jahren kompiliert, aber wenn ich es heute kompiliere, erhalte ich einen Fehler, der besagt, dass 'System' kein Mitglied von 'Std' ist. Gibt es etwas, das ich importieren muss, um std :: system zu verwenden, wurde es aufgegeben oder wurde es in eine andere Header-Datei verschoben.
std::system
ist (und war schon immer) in <cstdlib>
.
Es ist nicht durch den C ++ - Standard definiert, ob Standard-Header einander enthalten, und wenn ja, welche. Es ist also möglich, dass vor 3 Jahren, auf einem anderen Compiler oder einer anderen Version desselben Compilers, dein Code zufällig funktioniert hat, weil einer der Header, die du eingibst, zufällig <cstdlib>
enthält. Auf dem Compiler / Version, die Sie jetzt verwenden, tut es das nicht.
Tags und Links c++ include namespaces header std