C ++, necesidad Motivo del error: no se puede convertir el parámetro 1 de 'char *' a 'const char * &'
Por qué no podemos convertir el puntero en un carácter -> TO-> una referencia a un puntero en un carácter constante
Estoy interesado en conocer el motivo del error de sintaxis cuando llamamos a foo_ptr. Cuando foo_char está permitido, ¿por qué no foo_ptr.
[Actualización 1.] Me alegraría saber la razón por la quefoo_char()
está funcionando, ¿por quéfoo_ptr()
no funciona ... ¿Qué sucede cuando el puntero aparece en la imagen?
[Actualización 2.] Tampoco funcionó en el compilador Dev C ++ versión 4.9.9.2 ..
//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;
}