0
class EntityHolder {
public:

    EntityHolder ( ) { }

    EntityHolder (
            const EntityHolder& other )  { }
    ~EntityHolder ( ) { }

    EntityHolder&
    operator = (
            const EntityHolder& other ) {
        return *this;
    } // =

当我尝试创建 boost:shared_ptr 时,出现以下错误:

..\src\Entity.cpp:7:34: error: no matching function for call to 'boost::shared_ptr<orm::EntityHolder>::shared_ptr (orm::EntityHolder&)' 

这是什么意思?

4

1 回答 1

3

看起来您正在尝试将类型的对象EntityHolder直接传递给 的构造函数shared_ptr,但您应该给它一个指针,如下所示:

boost::shared_ptr<EntityHolder> p(new EntityHolder);
于 2012-11-10T18:37:47.150 回答