0
我试图打印出存储在BST链接列表中的单词。当我尝试打印单词时,它给了我“解除引用指向不完整类型”错误。C:在BST打印输出时取消引用指向不完整类型错误的指针
我的打印功能位于BST结构的头文件中。在我的主要功能中,我可以在没有问题的情况下打印出来,但似乎并不想在此功能中打印。
//linked list struct
struct ll_node
{
char * word;
struct ll_node * next;
};
//BST struct
struct bst_node
{
int occurs;
int diffOccurs;
struct bst_node * left;
struct bst_node * right;
struct ll_node * words;
};
//printout function
void * printTree(struct bst_node * currBST)
{
if(currBST == NULL)
{
return;
}
printf("%s\n", currBST->words->word);
printTree(currBST->left);
printTree(currBST->right);
}
它们都被定义。整棵树已经建成,然后我打电话给打印声明。我可以将打印语句硬编码到我的主函数中,但在头文件中调用此函数似乎不起作用。 编辑:在我的实际代码中,打印功能位于结构之后,对不起,如果这是令人困惑的。 – nickbean01 2013-02-10 00:44:44
如果两个结构都是在打印之前定义的,那么它不能是** this **错误信息(在打印之前构建树并不重要,问题是*源代码中定义和使用的顺序*。是“之前”,意思是“更接近源文件的开始”,而不是关于*在你的程序中做*事情的顺序)。 – 2013-02-10 04:14:47
我明白了,谢谢你解决了这个问题。 – nickbean01 2013-02-10 18:12:25