gcc 4.4.4 c89
Я получаю сообщение "Невозможно разыменовать неполный тип".
Однако я уверен, что мой тип структуры завершен. Я возвращаю экземпляр Network_t, который является указателем на выделенную память. Я должен иметь возможность разыменовать эту память.
Большое спасибо за любой совет,
У меня есть это в моем заголовочном файле:
driver.h
typedef struct Network_t Network_t;
Network_t* create_network(int id);
Файл реализации
driver.c
#include "driver.h"
struct Network_t {
int id;
};
Network_t* create_network(int id)
{
Network_t *network = malloc(sizeof *network);
if(network) {
network->id = id;
}
return network;
}
А у меня в main.c
#include "driver.h"
Network_t *network = NULL;
network = create_network(1);
printf("Network ID: [ %d ]\n", network->id); /* Cannot dereference pointer to incomplete type */