2014-04-07 3 views
0

Структура кода У меня есть структура «entry», которая хранится в круговом списке «bucket», который хранится в хэш-таблице. «Запись» имеет два поля (а и б), а также при поиске поля а и обратного поля Ь, я пытаюсь сделать это следующим образом:C-программирование - компилятор говорит мне, что я разыскиваю неполный тип

ht_lookup(d.dict->items[bucket],field_a) 

Я искал на этом и решение, похоже, должно включать заголовочный файл, который определяет ведро, но я включил заголовочный файл, который определяет ведро, то есть круглый список, поэтому я не понимаю, как этот тип является неполным. Есть ли что-то, что я могу сделать с кодом, так как это сделать полный тип?

Я нахожусь в конце своего ума, любая помощь действительно оценена.

struct dictionary 
{ 
    ht * dict; 
} d; 

struct entry 
{ 
    char word[MAX_WORD_SIZE]; 
    char desc[MAX_DESC_SIZE]; 
}; 

Это после

`#include "ht.h"` 

Который, где определен хеш-таблица, которая является то, что каждое ведро:

ht * new_ht(int max, hashfun h1, getkeyfun getkey) 
{ 
int i; 
ht * t = (ht*)malloc(sizeof(ht)); 
t->items = (clist**)malloc(max * sizeof(clist*)); 
t->size = 0; 
t->h1 = h1; 
t->getkey = getkey; 
t->max = max; 
for (i=0; i<max; i++) 
    t->items[i] = new_clist(); 
return t; 
} 

НКУ выводит эту ошибку:

ошибка: разыменование указателя на неполный тип

+0

показать ваш код (где определен ведомый список) и (по крайней мере) строку, в которой компилятор выдает ошибку (включая сообщение об ошибке). В противном случае мы можем просто догадаться, что вы делаете неправильно. – mfro

+0

Просьба показать ваше определение структуры и структуры. – Heeryu

+0

Отредактировано сообщение, чтобы переместить '^' из строки кода, чтобы он не выглядел как синтаксическая ошибка. –

ответ

1

d.dict - это указатель на что-то, определение этого не хватает компилятору. d имеет тип некоторого struct, который содержит элемент dict, то есть указатель на некоторые (возможно) другие struct. Определение этого другого struct отсутствует в блоке компиляции.

Смежные вопросы