c ++如何使用__declspec属性get&设置固定大小的数组

时间:2014-08-08 03:09:52

标签: c++ arrays properties get declspec

我正在处理一个struct mf固定的char数组,但是其中一些成员的大小和位置取决于其他成员。所以我想使用__declspec(property)来动态检索这些变量'成员

所以理想情况下看起来像这样:

struct tVariableRecord
{
    char cRecordType;
    union
    {
        struct
        {
            char cRecordType1_Field1[4];
            char cRecordType1_Filler[6];
            char cRecordType1_Field2[6];
            char cCRLF[2];
        };
        struct
        {
            char cRecordType2_Field1[6];
            char cRecordType2_Field2[6];
            char cCRLF[2];
        };
    }
    __declspec(property(get=get_Field2))   char cField2[6];
    char [6]&get_Field2()
    {
        static char cBadField2[6] = { '#', '#', '#', '#', '#', '#' };
        switch (cRecordType)
        {
            case '1':
                return cRecordType1_Field2;
                break;
            case '2':
                return cRecordType2_Field2;
                break;
            default:
               throw(unknownRecordType);
               return cBadField2;
               break;
         }
    }
};

我知道上面的工作没有成功,但有没有办法做同样的事情?

0 个答案:

没有答案