Win32 構成 (Win7-SP1 64 ビット / VS2010 / 4G RAM) でビルドすると、実行時にMicrosoft C++ 例外: std::bad_alloc at memory location...が発生したため、私が直面している問題は少し混乱しています。
私のアプリはライブラリを使用し、ユーザーに入力を求めますが、私のコードのcinコマンドは、コードが cin ステートメントに達すると上記の実行時例外を発生させます。したがって、私が見つけたものを確認するために、コードのみに従ってテストプロジェクトを作成し、cinコマンドが同じ例外を発生させることを確認します。
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"Please enter ?\n";
string input = "test";
cin >> input; //This code causing runtime exception
return 0;
}
Google で検索してから、x64 でビルドするようにコードを変更すると、この例外を回避できるので、元のコードを 64 ビットに変更し、cin コマンドで正常に実行できるようにします。
しかし、構成を win32 に戻してビルドすると、サンプル アプリと元のアプリの両方で上記の例外が発生しなくなりました。
だから私は知りたいです: 誰かが私が経験していることと同じ顔をしていたら?
win32 で初めてビルドしたときの何が問題なのですか?
また、コードが現在 win32 で正常に実行されている場合 (x64 から戻した後)、それは本当に正常に動作していますか、それとも当分の間動作させるために何かを混ぜただけですか?
タナクス