PDA

Visualizza la versione completa : [C++] inserimento in lista, errore conversione malloc


ksts
17-02-2012, 20:51
#include<stdio.h>
#include<stdlib.h>
struct Nodo {
int data;
struct Nodo *nextptr;};
typedef struct Nodo nodo;
typedef nodo *nodoptr;

void inserisci(nodoptr *sptr, int valore);
int main(){
nodoptr startptr = NULL;
int valore;
printf("inserisci il valore da mettere in lista---> ");
scanf("%c",&valore);
inserisci (&startptr, valore);
system("PAUSE");
return 0;
}
void inserisci(nodoptr *sptr, int valore){
nodoptr newptr, previousptr,currentptr;
newptr = malloc(sizeof(nodo));


mi da un errore di conversione della malloc da void a nodo, la cosa strana č che sia sulle dispense del professore sia sull'esempio del libro scrive cosė, ho provato a dichiarare il tipo prima della funzione malloc ma non funziona (o pių probabilmente sbaglio io).

oregon
17-02-2012, 20:52
newptr = (nodoptr)malloc(sizeof(nodo));

shodan
17-02-2012, 21:06
Originariamente inviato da ksts
(o pių probabilmente sbaglio io).
No. Semplicemente quel codice č per un compilatore C puro.
Usando un compilatore C++ sei costretto a mettere il cast come ti ha indicato Oregon.
E' una delle lievi differenze tra i due linguaggi.

Loading