Я делаю алгоритм кодирования Хаффмана в C и попал в проблему здесь.
У меня есть два разных файла .h, которые будут использовать эту структуру:
typedef struct no{
int qtd;
char c;
struct no* esq;
struct no* dir;
}no;
Итак,Мой arv_huffman.h имеет этот typedef и typedef no** arvHuffman
Мой другой .h, heap.h, включает в себя "arv_huffman.h" и использует typedef no* heap
Оба файла не имеют других реализаций.Когда я пытаюсь скомпилировать, я получаю следующее сообщение:
arv_huffman.h:11: error: redefinition of ‘struct no’
arv_huffman.h:16: error: conflicting types for ‘no’
arv_huffman.h:16: note: previous declaration of ‘no’ was here
arv_huffman.h:18: error: conflicting types for ‘arvoreHuff’
arv_huffman.h:18: note: previous declaration of ‘arvoreHuff’ was here
строк имеют следующий код
arv_huffman.h:11: "typedef struct no{"
arv_huffman.h:16: "}no;"
arv_huffman.h:18: "typedef no** arvoreHuff;"
Что происходит не так и как это исправить.