次のコードでランタイム クラッシュが発生し、デバッグもできません。レビューして、何が起こっているのか教えてください。
// CppConsole.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <assert.h>
class Test : public std::tr1::enable_shared_from_this<Test>
{
public:
Test():x(0),y(0),z(0){};
int x;
float y;
double z;
};
int _tmain(int argc, _TCHAR* argv[])
{
std::tr1::shared_ptr<Test> t1(new Test);
std::tr1::shared_ptr<Test> t2 = t1->shared_from_this();
return 0;
}
すべてのヘッダーをインクルードしましたが、プログラムは正常にコンパイルされています。これは私が得ているエラーです:
CppConsole.exe - エントリ ポイントが見つかりません プロシージャ エントリ ポイント ?_Xweak@tr1@std@@YAXXZ がダイナミック リンク ライブラリ MSVCP90D.dll に見つかりませんでした
この行をコメントアウトすると
std::tr1::shared_ptr t2 = t1->shared_from_this();
プログラムはクラッシュすることなく実行されます。
更新:質問は今のところ閉じることができます。VS 機能パックをインストールして、プログラムがクラッシュせずに実行されることを確認します。