Здравствуйте, Аноним, Вы писали:
А>Есть две структуры и мне надо сделать указатель, который может ссылаться на обе структуры, чтобы в зависимости от iType обращаться к различным данным.
А>Подскажите как правильно сделать
А>А>struct MyData1 {
А> int iType;
А> CString str;
А>};
А>struct MyData2 {
А> int iType;
А> int value1, value2;
А>};
А>MyData1* md1 = new MyData1;
А>MyData2* md2 = new MyData2;
md1->>iType = 1;
md1->>str = "123";
md2->>iType = 2;
md2->>value = 3;
А>void* p1;
А>p1 = md2;
А>CString csTemp;
А>int i3;
А>if (p1->iType == 1)
А> csTemp = p1->str;
А>else
А> i3 = p1->value;
А>
Попробуй в блоке else переназначить указатель на необходимую структуру. Потом, если надо, переназначь обратно. А межешь завести второй указатель и использовать вместо "p1->value".