我在ANSII C中的小程序在编译时给出了“冲突类型”错误消息。我不知道为什么会这样,特别是考虑到我在不同的.c文件中测试了相同的情况而没有任何问题。
代码如下:
void search(char *v, Message *l){
long int max;
max=countNodes(l);
(......这部分没关系,我向你保证......)
} //end of the "search" function
long int countNodes(Message *l){
long int i=0;
while(l!=NULL){
i++;
l=(l->nseg);
}
return(i);
}
因此,“countNodes”函数确定“l”(链表)中的节点数。然后,该号码返回“搜索”功能。但编译器不断给我一个“冲突类型”错误信息,我不知道为什么......我认为一切都很好,写得很好。
感谢所有帮助。提前谢谢!
答案 0 :(得分:3)
您的编译器基本上逐行读取您的文件。因此,当它显示max=countNodes(l);
时,它还不会“知道”您的countNodes
功能。
您有两种选择:
将countNodes
功能放在搜索功能之前。
将countNode
函数的原型放在search
函数之前(如果您不熟悉,请阅读“c中的原型”)。