Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda en conversion invalida

Estas en el tema de Ayuda en conversion invalida en el foro de C/C++ en Foros del Web. Miren tengo un problema les pondre solo las partes de codigo que importan: class Player{ public: Player(char nombre, int basura, int mas_basura );//<----- ~Player(); char ...
  #1 (permalink)  
Antiguo 10/12/2008, 17:22
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 16 años
Puntos: 3
Ayuda en conversion invalida

Miren tengo un problema les pondre solo las partes de codigo que importan:

class Player{
public:
Player(char nombre, int basura, int mas_basura );//<-----
~Player();
char name;
void otras_cosas_que_no_importan();
};
Player::Player(char nombre, int basura, int mas_basura){
name = nombre;
}
/*Y en algun lugar del codigo:*/
aPlayer[0] = new Player("juan", esto_no_es , relevante);//<------
_________________________
el problema es que existe una conversion invalida, segun el compilador de 'char' a 'const char*'(puntero)

pense solucionarlo cambiando "char nombre" y "char name" por "const char* nombre" y "const char* name" respectivamente y me funciona, pero me da mala espina dejarlo asi por que no me gusta hacer cosas que no manejo .
El punto es que alguien me explique un poco porque "juan" es un puntero a const char y no un char.
  #2 (permalink)  
Antiguo 11/12/2008, 08:53
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Ayuda en conversion invalida

Un char es un caracter unicamente, "juan" es una cadena de caracteres literal (4 caracteres mas el 0 terminador en este caso) y como tal se la pasa como referencia (la direccion de memoria donde comienza la misma). 'j' es un caracter - char - por ejemplo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 11/12/2008, 13:58
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 16 años
Puntos: 3
Respuesta: Ayuda en conversion invalida

Gracias por tu aclaracion Eternal Idol.
Se me habia olvidado que char era solo un caracter.

Creo que lo dejare cambiando "char nombre" y "char name" por "const char* nombre" y "const char* name"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:39.