Пересекающиеся структуры
От: Stanky  
Дата: 05.12.04 13:21
Оценка:
Как сделать что-то навроде этого (красиво):
struct STRUCT1
{
    ...
    STRUCT2 Struct2;
};

struct STRUCT2
{
    ...
    STRUCT1 Struct1;
};
Posted via RSDN NNTP Server 1.9 delta
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re: Пересекающиеся структуры
От: _nn_  
Дата: 05.12.04 13:22
Оценка:
Здравствуйте, Stanky, Вы писали:

S>Как сделать что-то навроде этого (красиво):

S>
S>struct STRUCT1
S>{
S>    ...
S>    STRUCT2 Struct2;
S>};

S>struct STRUCT2
S>{
S>    ...
S>    STRUCT1 Struct1;
S>};
S>


Что-то такое:
struct S2;

struct S1
{
 S2* pS2;
};

struct S2
{
 S1* pS1;
};
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Пересекающиеся структуры
От: just_bear Россия  
Дата: 05.12.04 13:25
Оценка: +1
Это описание абсурдно, тк подразумевает бесконечное вложение структур, что требует бесконечного объема памяти для реализации хотя бы одного экземпляра такой структуры.
То, что можно сделать в данном случсае — это сделать полями структур не сами структуры, а указатели на них.
И еще, чтобы компилятор не ругался на неописанные структуры придется добавить опережающее описание, типа такого:

struct STRUCT2;

struct STRUCT1
{
    ...
    STRUCT2* Struct2;
};

struct STRUCT2
{
    ...
    STRUCT1* Struct1;
};
Re[2]: Пересекающиеся структуры
От: Stanky  
Дата: 05.12.04 13:26
Оценка: :)
> Что-то такое:
>
> struct S2;

> struct S1
> {
>  S2* pS2;
> };

> struct S2
> {
>  S1* pS1;
> };
>

>
Спасибо!!!
Posted via RSDN NNTP Server 1.9 delta
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[2]: Пересекающиеся структуры
От: Stanky  
Дата: 05.12.04 13:28
Оценка:
> То, что можно сделать в данном случсае — это сделать полями структур не
> сами структуры, а указатели на них.
>
Ну мне и надо было указатели — просто при описании забыл указать!!!
Posted via RSDN NNTP Server 1.9 delta
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.