我想知道,是否可以将 shared_ptr 作为参数传递给接受类类型指针的函数
例子
class class_A_type
{
bla bl a
private:
IStuff *mStuff;
}
class IStuff
{
public:
IReporter(){};
virtual ~IReporter(){};
virtual void ReportResults( class_A_RESULT_TYPE *pResult) = 0;
};
void class_A_type::SendResultBack( bool status, std::string statusString )
{
boost::shared_ptr< class_A_RESULT_TYPE >aResultBptr( new class_A_RESULT_TYPE ( mStuff, GetPropertyName() ) );
bool lbool = false;
std::string lstr = "running";
aResultBptr->setStatus( lbool, lstr );
myStuff->ReportResults( aResultBptr );// ERROR HOw to pass shared _ptr ??
}
最佳答案
您应该在 shared_ptr
上调用 get
函数。
myStuff->ReportResults( aResultBptr.get() );
关于c++ - 将 shared_ptr 作为参数传递给接受类类型对象的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863744/