Llamada incorrecta a constructor

08/07/2005 - 12:45 por Zephryn Xirdal | Informe spam
Hola.

Estoy un poco perplejo por una situación un tanto extraña.

Tengo una clase con dos constructores.

El primero tiene un parámetro que es "const char".
El segundo tiene un parámetro que es un HANDLE.

class A
{
A(const char sz){...}
A(HANDLE handle){...}
};

En main hago:

A miA("HOLA");

Y se llama al constructor que tiene como parámetro el HANDLE en lugar del
de "const char".

Estoy utilizando el Visual Studio NET 2003 y el proyecto es de consola.

A ver si alguien puede sacarme de porqué es esto así.


La experiencia es como un billete de lotería comprado después del sorteo.
No creo en ella.
Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune
 

Leer las respuestas

#1 Zephryn Xirdal
08/07/2005 - 12:48 | Informe spam
Yo mismo me contesto.

el constuctor espera un caracter, no una cadena; como lo que estoy pasando
es un puntero a una cadena (una dirección de memoria) y un HANDLE es
exactamente eso, pues me toma el constructor del HANDLE sin protestar.

En fin, que uno tiene días...

En Fri, 08 Jul 2005 12:45:49 +0200, Zephryn Xirdal
escribió:

Hola.

Estoy un poco perplejo por una situación un tanto extraña.

Tengo una clase con dos constructores.

El primero tiene un parámetro que es "const char".
El segundo tiene un parámetro que es un HANDLE.

class A
{
A(const char sz){...}
A(HANDLE handle){...}
};

En main hago:

A miA("HOLA");

Y se llama al constructor que tiene como parámetro el HANDLE en lugar
del de "const char".

Estoy utilizando el Visual Studio NET 2003 y el proyecto es de consola.

A ver si alguien puede sacarme de porqué es esto así.







La experiencia es como un billete de lotería comprado después del sorteo.
No creo en ella.
Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune

Preguntas similares