
Ho una variabile dichiarata come double** il cui contenuto vorrei assegnare ad una variabile che punta ad una variabile costante. La mia prima idea è stata
Codice: Seleziona tutto
int main()
{
double **slacky;
const double **slackware;
slackware=slacky;
return 0;
}
Ma googlando un po' ho scoperto che si tratta di un errore previsto dallo standard per evitare altri problemi (quali la possibilità di aggirare la constness di una variabile).
In un forum C++ ho trovato che la soluzione al mio problema è la seguente:
Codice: Seleziona tutto
int main()
{
double **slacky;
const double * const* slackware;
slackware=slacky;
return 0;
}
Effettivamente se compilo il suddetto programma con g++ tutto fila liscio. Usando gcc invece continua a darmi
warning: assignment from incompatible pointer type
Sapevo che il C non è esattamente un sottinsieme del C++ ma non pensavo di trovare questa differenza di comportamento.
Come faccio ad implementare correttamente la stessa cosa in C?