C ++ std :: system 'system' kein Mitglied von std

7

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.

    
Paradius 18.09.2009, 21:55
quelle

4 Antworten

25

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.

    
Steve Jessop 18.09.2009, 22:03
quelle
7

Hast du das?:

%Vor%     
RichieHindle 18.09.2009 21:59
quelle
2

Stellen Sie sicher, dass Sie #include <cstdlib> in Ihrem Code haben.

    
Alan 18.09.2009 21:59
quelle
0

Ich habe es versucht. Es funktioniert in beiden Richtungen in vs2008 - "std :: system ()" oder "system ()". Und Sie möchten entweder stdlib.h oder cstdlib

einschließen     
zhjzju 02.04.2012 01:47
quelle

Tags und Links