tags:

views:

176

answers:

3

i am getting this error and i dont know why or understand the reason:

    vector<double> fourier_descriptor(Gdiplus::Bitmap myBitmap)
{


    vector<double> res;
    Contour c;
    vector<Pixel> frame;// = c.GetContour(p);

frame = c.GetContour(myBitmap);


    return res;

}

the error is in this line frame = c.GetContour(myBitmap);

+1  A: 

I can't find a reference for the GetContour method, but that looks like you're trying to pass a Bitmap by value, which (if I remember my C++ correctly) will invoke the copy constructor -- and Bitmap doesn't have a public copy constructor.

If you own Contour, rewrite that function to take a Bitmap* or Bitmap& instead (i.e. pass a pointer or reference), thereby avoiding the copy constructor.

itowlson
+1  A: 

Try passing it via reference:

vector<double> fourier_descriptor(Gdiplus::Bitmap& myBitmap)

Ny passing it by value, you make a copy of it, and Bitmap doesn't permit that.

Kornel Kisielewicz
+1  A: 

Gdiplus::Bitmap in non-copyable. And you are trying to copy it when you attempt to pass it around by value.

AndreyT