Привет у меня есть проблема с глобальным указателем, который недопустим в функции.
Вот мой код
#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;
}
Других решений пока нет …