sorry it was not sufficient...
here is part of my CVImageLabelator implementation:
Code:
class CVImage;
class CVImageLabelator : public CVImage
{
public:

	CVImageLabelator():m_label(NULL) {};
	CVImageLabelator(CVImage image):CVImage(image){Set(image.GetW(),image.GetH(),image.GetDepth(), image.GetChannel());};
	~CVImageLabelator(){ delete [] m_label;};

	void Set(const int w, const int h, const int depth, const int channels);
	void Labeling();
	int GetNumberOfLabels() const;

	int At(const int x, const int y);
	int At(const int x, const int y) const;
	void SetAt(const int x, const int y,int value);
	void SetAt(const int x, const int y,int value) const;
	
	//int& operator() (const int x, const int y) { return m_label[x+m_w*y]; };
	//const int& operator() (const int x, const int y) const{ return m_label[x+m_w*y];};

	CvPoint FingerTipPoint();

private:
	int *m_label;
	int m_numlabels;
};
and this are the constructors of CVImage:
Code:
class CVImage
{
public:
	CVImage():m_img(NULL) {}
	CVImage(const int w, const int h, const int depth, const int channels):m_img(NULL) { Set(w, h, depth, channels); }
	CVImage(const char* name, const int num = 1):m_img(NULL) { Load(name, num); }
	CVImage(const CVImage& src):m_img(NULL) { Clone(src); }
	~CVImage() { Release(); }
...
}
and when doing this:
Code:
	CVImageLabelator tmp = CVImageLabelator(m_img); //m_img is CVImage instance
	CvPoint fingerTip = tmp.FingerTipPoint();
I got runtime errors in the second line.
I have tested the code with another structure and it runs fine, so the problem is not inside FingerTipPoint(), as I said before I am quite sure is a constructor problem.

prove: I tried this at the beginning of FingerTipPoint():
Code:
std::cout<<this->At(GetW()-1,GetH()-1) << std::endl;
and get :
Code:
Unhandled exception at 0x0040f788 in MultiMap.exe: 0xC0000005: Access violation reading location 0x066fdffc.
I wonder what I am missing the constructor