realmente e esse o erro q o compilador aponta ,pra eu consiguir deletar ter q ser ponteiro.criei uma vareavel aux do tipo ponteriro para quardar o alemento da list a e deletar mas ainda não deu certo!!! #include <iostream.h> typedef int elemento_lista; struct no { elemento_lista info; int link; }; const MAXLISTA =6; no local[MAXLISTA]; int pri,disp; void criar_vazia (no local [], int & pri, int & disp, int maxlista) { int i =0; for (i = 0; i < maxlista - 1; i ++) { local.link = i+1; } local [maxlista-1].link = -1; pri = -1; disp=0; } int novo_no (no local[], int& disp) { int n; if (disp == -1) { return -1; } n = disp; disp=local[n].link; return n; } int inserir_inicio_lista (no local [], int & pri, int &disp, elemento_lista v) { int aux; aux = novo_no(local, disp); if (aux ==-1) return -1; local[aux].info = v; local[aux].link = pri; pri = aux; return 1; } void retira(no local[],int * aux,int pri,elemento_lista v) { for(*aux=pri;*aux!= -1;*aux ++) { if(local*[aux].info==v) delete local[*aux].info; } } void imprimir_lista (no local [], int & pri) { int aux; aux = pri; if (aux == -1) cout<<"Lista Vazia!"<<endl; cout << "Lista: "; while (aux !=-1) { cout << local[aux].info<< " "<<endl; cout<< local[aux].link<<" "<<endl; aux = local[aux].link; } cout << endl; } void main () { int pri, disp,opcao,aux; elemento_lista v; no local[MAXLISTA]; criar_vazia(local,pri,disp,MAXLISTA); do { cout<<" MENU!!"<<endl<<endl<<endl; cout<<"<1> INSERIR NO INICIO DA LISTA"<<endl <<"<2> MOSTRAR ELEMENTOS DA LISTA"<<endl <<"<3> Retirar"<<endl <<"<0> SAIR"<<endl; cin>>opcao; switch(opcao) { case 1: cout<<"Digite um valor a ser inserido: "<<flush; cin>>v; if(inserir_inicio_lista (local , pri, disp, v)== -1) { cout<<"lista cheia"; } break; case 2: imprimir_lista (local, pri); break; case 3:cout<<"digite um numero para ser retirado da lista"<<endl; cin>>aux; retira(local,&aux,pri,v); break; case 0: break; default: cout<<"valor invalido "<<endl; } } while (opcao !=0); }