「std::system(SomeString)」からの呼び出しを行う C++ プログラムのコンパイル中にエラーが発生しました。このプログラムは 3 年前にコンパイルされましたが、今日コンパイルすると、'system' は 'std' のメンバーではないというエラーが表示されます。std::system を使用するためにインポートする必要があるものはありますか、それは放棄されましたか、それとも別のヘッダー ファイルに移動されましたか。
13003 次
4 に答える
27
std::systemです(そして常にそうでした)<cstdlib>。
C++ 標準では、標準ヘッダーが相互にインクルードするかどうか、またインクルードする場合はどれをインクルードするかは定義されていません。したがって、3 年前、別のコンパイラまたは同じコンパイラの別のバージョンで、コードが偶然に機能した可能性があります。これは、インクルードしたヘッダーの 1 つに<cstdlib>. 現在使用しているコンパイラ/バージョンでは、そうではありません。
于 2009-09-18T22:03:38.827 に答える
7
これありませんか?:
#include <cstdlib>
于 2009-09-18T21:59:02.280 に答える
2
#include <cstdlib>コードに含まれていることを確認してください。
于 2009-09-18T21:59:16.243 に答える
0
私が試してみました。vs2008では、「std::system()」または「system()」の両方の方法で機能します。そして、stdlib.h または cstdlib のいずれかを含めたい
于 2012-04-02T01:47:51.473 に答える