变量未声明的功能

时间:2013-09-17 18:32:17

标签: c++ undeclared-identifier

嗨我的问题是全局指针在功能中未声明。 这是我的代码

#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

1 个答案:

答案 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;
}