c++ - 错误: ‘recdisp’的类型冲突void recdisp(struct node * p)

标签 c++ c gcc

void recdisp(struct node* p);

struct node{
int data;

struct node* link;
};

struct node* head;

int main()
{

recdisp(head);

return 0;
}

void recdisp(struct node* p)
{

if(p==NULL)
return; 

recdisp(p->link);

printf("%d ",p->data);


}
在main之前声明了该功能!!!

最佳答案

解决方案
struct声明应该在函数声明之前。
如果首先声明功能会发生什么情况
因为没有声明结构,所以假定与该函数关联的参数是某些东西。
稍后在声明该结构并定义该函数之后,编译器现在使用该结构将其与该函数相关联,但是它早已与其他关联进行了此过程,因此需要重新声明

关于c++ - 错误: ‘recdisp’的类型冲突void recdisp(struct node * p),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62548414/

相关文章:

c++ - 在类字段上使用预处理器 #ifdef

c++ - -> 在函数原型(prototype)之后是什么意思?

c - 为什么我的信号处理程序不处理 SIGKILL,有时会导致帐户注销

memcpy() 上的 c 段错误

c++ - 避免在 gcc 上进行名称重整

c++ - 程序因未知原因意外退出 (C++)

C++,通过复制还是通过 const 引用,哪种参数样式更好?

c - UNIX 中 C++ 和 C 语言的简单 echo 服务器

c - 我怎样才能让 GCC 用 SSE 指令向量化这个简单的复制循环?

c - 如何在 Windows 上更新安装 GCC 11.2