【发布时间】:2021-12-08 09:23:54
【问题描述】:
我有一个类的构造是这样的:
class CLSS
{
public:
CLSS(const std::shared_ptr<someType>& pobj)
{
std::shared_ptr<someType> obj = pobj;
obj->somefunc("DDDD")
}
~CLSS()
{
}
};
适用于现在的问题。但是,当我将obj->info("DDDD")的相同函数放在双构造函数中时,它会返回错误,即:
...
~CLSS()
{
obj->info("DDDD")
}
....
---------------编辑
我试过了
class CLSS
{
public:
std::shared_ptr<someType> obj;
CLSS(const std::shared_ptr<someType>& pobj)
{
obj = pobj;
obj->somefunc("DDDD")
}
~CLSS()
{
}
};
但仍然无法编译,错误不是很可读。
【问题讨论】:
-
你在哪里定义共享指针?
-
@AnisBelaid 没有'std::shared_ptr
obj = pobj; ' 已经清除了吗? -
什么错误信息?阅读和思考以理解它会有所帮助。
-
你错过了;
-
即使错误对您来说不是很容易阅读,但对于试图回答您问题的人来说,它们可能更容易理解。请编辑您的问题以包含其实际文本。
标签: c++ pointers shared-ptr