Enviado em 09/10/2016 - 12:21h
to estudando p EStrutura de Dados , ai peguei um código e joguei no compilador , mas tá dando erro e eu to tentando entender o código na verdade
#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct lista{
int elemento ;
struct lista *prox;
}celula;
void insereh(celula **topo , int ele){
celula *novo;
novo = malloc(sizeof(celula));
novo -> elemento = ele;
if(*topo==NULL){
novo -> prox=NULL;
*topo = novo;
}else{
novo-> prox=*topo;
*topo = novo;
}
}
void printar(celula *topo){
celula *aux;
aux = topo;
if(aux==NULL){
}else {
do{
cout<<aux->elemento;
aux = aux->prox;
}while(aux!=NULL);
}
}
int main() {
celula *topo=NULL;
insereh(&topo,3);
insereh(&topo,6);
insereh(&topo,9);
printar(topo);
return(0);
}
O erro q dá no compilador é o seguinte :
altyouth@mac:~/MATERIAL FACULDADE/ESTRUTURA DE DADOS/LISTA$ g++ insere_inicio.cpp -oinsere_inicio.exe
insere_inicio.cpp: In function ‘void insereh(celula**, int)’:
insere_inicio.cpp:14:16: error: invalid conversion from ‘void*’ to ‘celula* {aka lista*}’ [-fpermissive]
novo = malloc(sizeof(celula));
#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct lista{
int elemento ;
struct lista *prox;
}celula;
void insereh(celula **topo , int ele){
celula *novo;
novo = malloc(sizeof(celula));
novo -> elemento = ele;
if(*topo==NULL){
novo -> prox=NULL;
*topo = novo;
}else{
novo-> prox=*topo;
*topo = novo;
}
}
void printar(celula *topo){
celula *aux;
aux = topo;
if(aux==NULL){
}else {
do{
cout<<aux->elemento;
aux = aux->prox;
}while(aux!=NULL);
}
}
int main() {
celula *topo=NULL;
insereh(&topo,3);
insereh(&topo,6);
insereh(&topo,9);
printar(topo);
return(0);
}
O erro q dá no compilador é o seguinte :
altyouth@mac:~/MATERIAL FACULDADE/ESTRUTURA DE DADOS/LISTA$ g++ insere_inicio.cpp -oinsere_inicio.exe
insere_inicio.cpp: In function ‘void insereh(celula**, int)’:
insere_inicio.cpp:14:16: error: invalid conversion from ‘void*’ to ‘celula* {aka lista*}’ [-fpermissive]
novo = malloc(sizeof(celula));