为 shared_ptr <IplImage> 赋值

assigning value to shared_ptr <IplImage>

我正在使用 obj C,我在将 const IplImage* 分配给 shared_ptr

时遇到问题

我定义了一个类型如下

typedef std::shared_ptr<const IplImage> SharedImage;

然后我创建它的一个实例,将实例分配给 const IplImage* image

我该怎么做?

我知道我必须初始化我的 shared_ptr 指向的 IplImage。所以我尝试了类似的方法,没有错误,但不确定如何将变量图像分配给它。

SharedImage shared_image(new const IplImage(*cvCreateImage(size, IPL_DEPTH_32F, 1)));

我试过了shared_image.get() = image;

但它给了我错误。有什么建议吗?提前谢谢你!

您应该可以使用 reset

shared_image.reset(image);

此界面还允许您设置相应的删除器(如果不是默认的)。您正在寻找的任何方法都不具备此功能