У меня есть класс, в качестве члена которого используется tr1 :: shared_ptr, например:
class Foo
{
std::tr1::shared_ptr<TCODBsp> bsp;
void Bar();
}
В строке функции-члена я пытаюсь назначить это так:
bsp = newTCODBsp(x,y,w,h);
g ++ затем выдает мне эту ошибку
no match for ‘operator=’ in ‘((yarl::mapGen::MapGenerator*)this)->yarl::mapGen::MapGenerator::bsp = (operator new(40u), (<statement>, ((TCODBsp*)<anonymous>)))’
/usr/include/c++/4.4/tr1/shared_ptr.h:834: note: candidates are: std::tr1::shared_ptr<TCODBsp>& std::tr1::shared_ptr<TCODBsp>::operator=(const std::tr1::shared_ptr<TCODBsp>&)
в моем коде Foo
на самом деле yarl::mapGen::MapGenerator
. Что я делаю не так?