嗨我的问题是全局指针在功能中未声明。 这是我的代码
#include <iostream>
using namespace std;
void push_l(int n);
struct elem{
int key;
elem *next;
} *left=NULL,*right=NULL;
void push_l(int n){
elem *p=left;
left=new elem;
left->key=n;
left->next=p;
if (right==NULL)right=left;
}
int main(){
push_l(5);
system "pause";
return 0;
}
这是我收到的错误消息之一 - 函数void push_l(int)left unclared
答案 0 :(得分:2)
这是using namespace std;
的结果(std
也有left
)。你甚至不需要iostream
。对left
的引用含糊不清。
这样做:
#include <cstdlib>
struct elem{
int key;
elem *next;
} *left=NULL,*right=NULL;
void push_l(int n){
elem *p=left;
left=new elem;
left->key=n;
left->next=p;
if (right==NULL)right=left;
}
int main(){
push_l(5);
std::system("pause");
return 0;
}