函数中未声明的变量

Variable undeclared in function

本文关键字:变量 未声明 函数      更新时间:2023-10-16

嗨,我在函数中声明全局指针时遇到问题。这是我的代码

#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) 未声明

这就是你得到的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;
}