この問題は何週間も私を悩ませてきました。私はMSvs2010を使用しています。
#include <iostream>
int main()
{
std::cout << "Enter two numbers:" << std::endl;
int v1 = 0, v2 = 0;
std::cin >> v1 >> v2;
std::cout << "The sum of " << v1 << " and " << v2
<< " is " << v1 + v2 << std::endl;
return 0;
}
C++Primerのシンプルなプログラム。コンパイルすると、次のエラー情報が表示されます。
1> e:\ program files \ microsoft visual studio 10.0 \ vc \ include \ cstdlib(24):エラーC2039:'exit':'`グローバル名前空間''のメンバーではありません
1> e:\ program files \ microsoft visual studio 10.0 \ vc \ include \ cstdlib(24):エラーC2873:'exit':シンボルをusing-declarationで使用できません
私はいくつかの解決策を見つけようとしていました、そして私はこれを手に入れました:
それは言う:
解決策が見つかりました:
私はこの問題をウェブ上で調査しましたが、多くの人にとって問題になっているようです。これに対する解決策は、コメントを削除するのと同じくらい簡単です。
stdlib.hファイルを調べたところ、次の行が賞賛されていることがわかりました。
_CRTIMP __declspec(noreturn) void __cdecl exit(__in int _Code);
コメントを取り出して再コンパイルしたところ、動作するようになりました。
一部のビルドでは、コードのその部分がコメント化された状態でstdlib.hファイルが自動的にコンパイルされると思います。コメントを外すだけで、コードが機能します。
どうやら何人かの人々はこの解決策で問題を修正しました。_CRTIMP __declspec(noreturn) void __cdecl exit(__in int _Code);
しかし、 stdlib.hでさえ見つけることができませんでした。
誰もがこれを修正する方法を知っていますか?