2009-09-18 26 views
7

"std :: system(SomeString)"からの呼び出しを行うC++プログラムをコンパイルする際にエラーが発生します。このプログラムは3年前にコンパイルされましたが、今日コンパイルすると 'system'が 'std'のメンバーではないというエラーが表示されます。 std :: systemを使うためにインポートする必要があるものがあるか、放棄されたものか、別のヘッダファイルに移動したものがありますか?C++ std :: system 'system' stdのメンバーではありません

答えて

25

std::systemは、<cstdlib>に(いつでもあった)。

標準ヘッダーが相互に含まれているかどうかは、C++標準では定義されていません。したがって、3年前、同じコンパイラの別のコンパイラまたは別のバージョンでは、あなたのコードには<cstdlib>が含まれていたので、あなたのコードがうまく動作した可能性があります。現在使用しているコンパイラ/バージョンではありません。

2

を?:持っていますか、あなたのコード内で#include <cstdlib>を持っていることを確認してください。

0

私は試しました。 vs2008では "std :: system()"または "system()"の両方で動作します。 stdlib.hまたはcstdlibのいずれかを含める

+1

あなたが答える新しい情報は、受け入れられたものと比較して何ですか? –

関連する問題