Как сделать перекрестную ссылку?

Тема в разделе "LANGS.C", создана пользователем dyn, 9 ноя 2009.

  1. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Привет.
    Задача такая:

    Есть две структуры.

    typedef struct _BASIC_TABLE
    {
    //...
    POTHER_TABLE pother_table;
    //...

    } BASIC_TABLE, *PBASIC_TABLE;


    typedef struct _OTHER_TABLE
    {
    //...

    PBASIC_TABLE pbasic_table;

    //...
    } OTHER_TABLE, *POTHER_TABLE;


    Проблема в том, что не компилируется. Пишет, что элемент неопознан. Т.е. Если первой объявлена васик, то компилятор ругается на неизвестный символ other_table, а если второе - то наоборот - ругается на васик.

    Как объявить 2 структуры со ссылками друг на друга, чтобы все скомпелировать?

    Всем спасибо заранее
     
  2. make

    make New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    59
    Forward declaration.
    А книжки они для идиотов, да.
     
  3. zeroday

    zeroday New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2009
    Сообщения:
    27
    И что ты тут делаешь тогда?
     
  4. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
     
  5. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    В плоском си разве есть forward declaration? :derisive:

    ТС, ссылки и указатели - разные вещи.
     
  6. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Вроде всегда было.
     
  7. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    к примеру, то что я привел будет работать так как и ожидается, ключ /TC компиллеру студии
     
  8. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Ну значит - слил. В плоском си не силен :)
     
  9. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    o14189
    Спасибо! Работает!