Я имею дело с фиксированными массивами struct mf char, но размер и расположение некоторых из этих членов зависят от других членов. поэтому я хочу использовать __declspec (свойство) для динамического извлечения этих «переменных» членов
В идеале это будет выглядеть примерно так:
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;
}
}
};
Я знаю, что выше не сработает, но есть ли способ сделать то же самое?
Задача ещё не решена.