I am getting run time crash in the following piece of code and not able to debug also. Please review and let me know what's going on.
// 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;
}
I have include all the headers and the program is compiling fine. This is the error i am getting: CppConsole.exe — точка входа не найдена Точка входа в процедуру ?_Xweak@tr1@std@@YAXXZ не может быть обнаружена в библиотеке динамической компоновки MSVCP90D.dll
Если я закомментирую эту строку
std::tr1::shared_ptr t2 = t1->shared_from_this();
программа работает без сбоев.
Обновление: вопрос можно пока закрыть. Я попытаюсь установить пакет функций VS и посмотреть, будет ли программа выполняться без сбоев.
shared_ptr
. Тем не менее, здесь происходит что-то странное. Я не вижу в этом ничего явно неправильного, и если я добавлю#include <memory>
и исправлю объявления, у меня не будет проблем с этим кодом в VC10 (в VC9 могла быть проблема, которую вы используете, но это было бы необычно.) Какие настройки вы используете для компиляции этого проекта? Если вы просто скомпилируете этот файл .cpp в командной строке Visual Studio (cl test.cpp
или как там называется файл), что произойдет? - person James McNellis   schedule 20.01.2011shared_ptr
чего? Вот для чего нужен шаблон. Опубликуйте свой реальный точный код. - person GManNickG   schedule 20.01.2011shared_ptr
. Я очарован тем, что это сработает. - person James McNellis   schedule 20.01.2011