即使我声明了变量,我也会收到变量的范围错误。以下是代码
// 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;
}
g ++ -g file.cpp
错误:未在此范围内声明'refPtr' 错误:'mainPtr'未在此范围内声明
答案 0 :(得分:2)
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)
此外,您在定义;
struct node