我想知道,是否可以将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 ??
}
最佳答案
您应该在get
上调用shared_ptr
函数。
myStuff->ReportResults( aResultBptr.get() );