C++ 范围错误,尽管声明了VARABLE

C++ 范围错误,尽管声明了VARABLE,c++,scope,C++,Scope,我得到了一个变量的作用域错误,即使我已经声明了它。下面是代码 //file.cpp #include <iostream> struct node { int data; node *next; } void find(node *, int ); int main() { node *head = new node(); find(head,3); } void find(node *curPtr, int node) { node *re

我得到了一个变量的作用域错误,即使我已经声明了它。下面是代码

//file.cpp

#include <iostream>

struct node {
    int data;
    node *next;
}

void find(node *, int );

int main()
{
   node *head = new node();
   find(head,3);
}

void find(node *curPtr, int node) 
{
  node *refPtr,*mainPtr;

}
#包括
结构节点{
int数据;
节点*下一步;
}
无效查找(节点*,int);
int main()
{
节点*头=新节点();
发现(头,3);
}
无效查找(节点*curPtr,int节点)
{
节点*refPtr,*mainPtr;
}
g++-g file.cpp

错误:“refPtr”未在此作用域中声明 错误:“mainPtr”未在此作用域中声明

void find(node *curPtr, int node)  // you have one variable calls node 
//                          ^^^^   // which is same name as struct type.
{
  node *refPtr,*mainPtr;

}
换成

void find(node *curPtr, int value) 
还有,你错过了
定义后
结构节点