Error desesperante

18/12/2003 - 18:13 por jose | Informe spam
Hola grupo,

Estoy trabajando con MFC's y me encuentro con un absurdo error que no
debería surgir. Pongo un ejemplo equivalente porque el error original se
produce en una clase bastante grande:


BOOL Comparar(CString cs1, CString cs2)
{
return cs1 >= cs2;
}


: error C2668: 'CString::CString' : ambiguous call to overloaded function

El error es en la línea: return cs1 >= cs2;

Con este ejemplo dudo que se produzca el error, pero con un poco de
suerte, alguien se ha podido encontrado con un problema similar y quizás
haya podido resolverlo.

Muchas gracias,

Jose
 

Leer las respuestas

#1 Mateu Perelló
18/12/2003 - 18:57 | Informe spam
Yo lo haria asi

BOOL Comparar(CString cs1, CString cs2)
{
return (cs1 >= cs2?true:false);
}

si no quieres poner
BOOL Comparar(CString cs1, CString cs2)
{
if(cs1>=cs2) //si es verdadero no llegara al segundo return
return true;
//porque si pones else lo mas seguro es que te de un
error
//porque no se devuelva nada
return false;
}





return (sz1>=sz2?true:false);

"jose" ha escrit en el missatge dels grups de
discussió:
Hola grupo,

Estoy trabajando con MFC's y me encuentro con un absurdo error que no
debería surgir. Pongo un ejemplo equivalente porque el error original se
produce en una clase bastante grande:


BOOL Comparar(CString cs1, CString cs2)
{
return cs1 >= cs2;
}


: error C2668: 'CString::CString' : ambiguous call to overloaded function

El error es en la línea: return cs1 >= cs2;

Con este ejemplo dudo que se produzca el error, pero con un poco de
suerte, alguien se ha podido encontrado con un problema similar y quizás
haya podido resolverlo.

Muchas gracias,

Jose

Preguntas similares