我在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;"
出了什么问题,我该如何解决。