我得到了这个错误,我不知道为什么,也不理解原因:
vector<double> fourier_descriptor(Gdiplus::Bitmap myBitmap)
{
vector<double> res;
Contour c;
vector<Pixel> frame;// = c.GetContour(p);
frame = c.GetContour(myBitmap);
return res;
}错误在此行frame =c.GetContour(MyBitmap)中;
发布于 2009-12-21 07:54:38
我找不到GetContour方法的引用,但这看起来像是在尝试通过值传递位图,它(如果我没记错C++的话)将调用复制构造函数--而位图没有公共的复制构造函数。
如果你拥有等高线,重写该函数以获取Bitmap*或Bitmap& (即传递指针或引用),从而避免使用复制构造函数。
发布于 2009-12-21 07:54:52
尝试通过引用传递它:
vector<double> fourier_descriptor(Gdiplus::Bitmap& myBitmap)在通过值传递它的时候,你会复制它,而Bitmap不允许这样做。
发布于 2009-12-21 08:02:28
Gdiplus::Bitmap是不可复制的。当你试图通过值传递它的时候,你是在试图复制它。
https://stackoverflow.com/questions/1937525
复制相似问题