Чистый СИ. Инклуды.

cDLEON

Онанист РНРСlub
Чистый СИ. Инклуды.

Вот раньше как то не сравнивался раньше с такой проблемой:
Стараюсь писать "пакетами". Т.е. функционал более высокого уровня, ни чего не знает про типы нижнего.
Теперь вот случился тот случай, когда пакет должен быть на уровень ниже, но его должны знать на два уровня выше (что бы добавить свой тип в структуру).
Т.е:
PHP:
#include "client.h"
typedef struct {
 int test;
 sd_client   client;
} sd_pool;
Нужно всабачить в структуру sd_pool структуру sd_client, но структура sd_client и функции этого "пакета" должны знать структуру sd_pool;
У меня проблемы с логикой в приложении ? Как лучше всего сделать ?
Не выносить функционал структуры sd_client в отдельный пакет что ли?
 

Alexandre

PHPПенсионер
Нужно всабачить в структуру sd_pool структуру sd_client, но структура sd_client и функции этого "пакета" должны знать структуру sd_pool;
определи псевдоним с помощью typedef ?

вообще от зацикливаний в определении надо как-то избавляться.
объединяй тогда в один пакет что-ли.
 

tony2001

TeaM PHPClub
так?

Код:
struct first; /* forward declaration */
struct second; /* forward declaration */

struct first {
    int test;
    struct second *blah;
};

struct second {
    int wow;
    struct first *hmm;
};
 

cDLEON

Онанист РНРСlub
ого. Я и не знал даже что так можно )
Тони, опять в точку ) Спасибо )
 
Сверху