如何在c ++中获取/设置私有结构中的值?

时间:2013-08-26 08:50:09

标签: c++ struct

我在我的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;

}

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

1 个答案:

答案 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);
};