gpt4 book ai didi

c++ - 错误 "field has incomplete type"

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:27 24 4
gpt4 key购买 nike

我正在尝试编写 IplImage 包装器。

这是我的代码:

class DrawingDetector
{
public:
typedef boost::shared_ptr<IplImage> ipl_image_ptr_t;

DrawingDetector(){}
DrawingDetector::DrawingDetector(IplImage* img) : m_image(img, ipl_deleter){}

private:

static void ipl_deleter( IplImage* ipl_img )
{
if( ipl_img )
{
cvReleaseImage( &ipl_img );
}
}

ipl_image_ptr_t m_image; // compiler error "field ‘m_image’ has incomplete type"

};

我遇到以下编译错误“字段‘m_image’的类型不完整”。我的编译器是 gcc 4.4。

为什么我不能创建一个空的 shared_ptr?

最佳答案

由于该字段的类型为 boost::shared_ptr<IplImage> ,您似乎还没有包括 boost/shared_ptr.hpp和/或定义 IplImage 的 header .对于 IplImage仅提供前向声明就足够了。

关于c++ - 错误 "field has incomplete type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15790886/

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