Quote:
Originariamente inviato da salvodel
Quando lo lancio ottengo il seguente errore relativo alle righe dove utilizzo la funzione malloc
Codice:
c:\main.cpp(67) : error C2440: '=' : cannot convert from 'void *' to 'double *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
|
malloc, di per sé, restituisce un puntatore a void; e i puntatori a void vanno
sempre convertiti esplicitamente, prima di essere riutilizzati.
Quote:
Se invece faccio
Codice:
VEDERE=(double *)malloc(10*sizeof(double));
come ho visto fare per un esempio "anacolo" mi da altri tipi di errore.
|
Quali tipi? Perché, questa porzione sembra corretta...
Quote:
Originariamente inviato da RaouL_BennetH
Credo comunque che la malloc debba essere utilizzata come hai scritto nel secondo esempio:
Codice:
char *c;
c = malloc(50);
int *max;
max = (int *)malloc(max*syzeof(int));
|
Sì, conversioni sempre esplicite; anche se c è un puntatore a char.