有一段链表程序, 需要结构体知识。发现程序里结构体嵌套了结构体 ,而不是结构体指针,不知道这是个什么情况?另外,这段程序也不是特别理解,希望那个兄弟能把重要知识点提一下,多谢多谢     段程序如下:struct ABC
      {
         UInt16      variable1;
         Class1:: enum_ok enum1;
         UInt32      mFlags;         ABC()
            : variable1(0)
            , enum1(Class1::SP_Unknown)
            , mFlags(0)
         {}         ABC(UInt16 Type, Class1::enum_ok enum_element, UInt32 nFlags)
         : variable1(Type)
         , enum1(enum_element)
         , mFlags(nFlags)
         {}
      };

解决方案 »

  1.   


    struct ABC
      {
      UInt16 variable1;
      Class1:: enum_ok enum1;//没有Class1的代码,不过根据命名推测判断,enum_ok应该是个枚举类型
    //就是用Class1里的enum_ok数据类型定义一个enum1变量
      UInt32 mFlags;//下面两个都是构造函数,重载。
    //使用初始化列表对成员变量进行初始化
      ABC()
      : variable1(0)
      , enum1(Class1::SP_Unknown)
      , mFlags(0)
      {}
    /*相当如下面的代码
    ABC()
    {
    variable = 0;
    enum1 = Class1::SP_Unknown;
    mFlags = 0;
    }
    *///下面的和上面的类型
      ABC(UInt16 Type, Class1::enum_ok enum_element, UInt32 nFlags)
      : variable1(Type)
      , enum1(enum_element)
      , mFlags(nFlags)
      {}
      };