0

我在我的类的私有结构中设置值时遇到了一点问题。如下所示:

//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;

}

我哪里错了?我认为应该可以以这种方式在我的结构中设置值,但我不知道我错过了什么。请给我一个提示或指导如何以正确的方式进行操作。

4

1 回答 1

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);
};
于 2013-08-26T09:22:12.267 回答