Whey non è possibile Convertire il puntatore in un carattere -> TO-> un riferimento a un puntatore a un carattere costanteC++, necessario Motivo dell'errore: impossibile convertire il parametro 1 da 'char *' a 'const char * &'
Sono interessato a conoscere il motivo dell'errore di sintassi quando chiamiamo foo_ptr. Quando foo_char è permesso perché no foo_ptr.
[Aggiornamento 1.] Sarei felice di conoscere il motivo per cui foo_char()
funziona, perché foo_ptr()
non funziona .. Cosa succede quando il puntatore entra nell'immagine.
[Aggiornamento 2.] non ha funzionato nel Dev C++ Compiler versione 4.9.9.2 troppo ..
//code
//OS : Win XP
//Env: VC++ 2008
//NOT ALLOWED
void foo_ptr(const char * & ptr) //reference to a pointer to a constant character
{
return;
}
//allowed
void foo_char(const char & p_Char) //reference to a constant character
{
return;
}
int main()
{
char ch = 'd';
char *ptr = "anu";
foo_char(ch);
foo_ptr(ptr); //NOT ALLOWED syntax error, vc++, 2008
return 0;
}
Forse il parser è sbagliato, prova 'foo_ptr ((const char *) & ptr'. – RedX
Tutto compilato bene su VC2010 Forse un bug corretto? – atoMerz
@RedX: Grazie per gli input, void foo_ptr ((const char *) & ptr) ha dato l'errore C2065: identificato non identificato – anubhav16