gpt4 book ai didi

c++ - 将 shared_ptr 作为参数传递给接受类类型对象的函数

转载 作者:行者123 更新时间:2023-11-28 02:38:04 28 4
gpt4 key购买 nike

我想知道,是否可以将 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com