解决shared_ptr符号查找错误未定义符号

时间:2013-11-19 17:10:02

标签: c++ c++11 std shared-ptr

使用 shared_ptr 进行类型定义,如下所示:

typedef std::shared_ptr<MyObject> MyObjectPtr;

有一个库从方法中返回此类型:

MyObjectPtr p = myLibrary->getMyObject(1);

如果我在初始化后立即在p上调用某个方法,则可以正常工作:

p->getProperty();

但是我尝试将p传递给另一个方法,然后在p上调用方法,它不起作用:

myMethod(p);

当被调用的方法是:

void myMethod(MyObjectPtr p)
{
    p->getProperty();
}

我收到此错误: symbol lookup error undefined symbol MyProgram::myMethod(std::shared_ptr<MyProgram::MyObject>)

如何解决该错误,以便在传递后可以在p上调用该方法?

0 个答案:

没有答案