Re: Проблемы с указателями
От: my_d  
Дата: 06.12.05 11:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть две структуры и мне надо сделать указатель, который может ссылаться на обе структуры, чтобы в зависимости от 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".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.