我在我的Class的私有结构中设置值时遇到了一些问题。它如下所示:
//ProcessImage.h
class Process_Image
{
private:
struct ImageData
{
Mat imageMatrix;
int V_Min;
int V_Max;
Imagedata(Mat img, int Vmin=0, int Vmax=255):
imageMatrix(img), V_Min(Vmin), V_Max(Vmax) {}
};
public:
bool set_V_Min(int Value);
};
//ProcessImage.cpp
bool Process_Image::set_V_Min(int Value)
{
if(value>0&&value<256)
{
ImageData.V_Min=value; //it is not working setting it like this
return true;
}
return false;
}
我哪里错了?我认为应该可以设置我的结构中的值,但我不知道我错过了什么。请给我一个提示或指示如何以正确的方式做到这一点。
答案 0 :(得分:1)
您还没有创建结构,只描述了它。要在类内部使用常量结构,请将其写下来:
class Process_Image
{
private:
struct ImageData
{
Mat imageMatrix;
int V_Min;
int V_Max;
Imagedata(Mat img, int Vmin=0, int Vmax=255):
imageMatrix(img), V_Min(Vmin), V_Max(Vmax) {}
}ImageData; // <- your missing part
public:
bool set_V_Min(int Value);
};