我正在处理一个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;
}
}
};
我知道上面的工作没有成功,但有没有办法做同样的事情?