Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
编译时,我在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”(链接列表)中的节点数。然后,该数字返回到“搜索”功能。但是编译器一直在给我一个“冲突类型”错误消息,我不知道为什么...我认为一切都很好并且编写得很好。

感谢所有帮助。提前致谢!

最佳答案

编译器基本上逐行读取文件。因此,当读取max=countNodes(l);时,它还不“知道”您的countNodes函数。

您有两种选择:


countNodes函数放在搜索函数之前。
将您的countNode函数的原型放在search函数之前(如果您不熟悉,请阅读“ c中的原型”)。

关于c - 冲突类型错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47335329/

10-12 13:44