[C con Clase] Sobrecarga

rabindranath 84 rabindranath84 en hotmail.com
Mie Mar 14 04:59:33 CET 2007


buenas
pues no estoy muy seguro, pero creo que es debido al uso de valores por defecto, esto es porque al usar valor por defecto tendríamos:mayor(5,7)
sería igual a
mayor(5,7,0/*valor por defecto*/)
aunque no sea igual necesariamente en términos estrictos de lógica, el compilador lo relacionaría como si fuera igual, ya que tomaría un valor por defecto y los otros serían los que se le ingresan a la función, es por eso que lo toma como ambiguo, ya que no sabe a cuál de las tres funciones se está llamando
 
no sé si me di a entender, pero no soy muy bueno explicándome, espero que en alguito pueda ayudar lo que he intentado redactar
 
en caso de que no entiendas muy bien espero no confundirte mas :p



> To: cconclase en listas.conclase.net> From: alepelexo en yahoo.es> Date: Tue, 13 Mar 2007 09:02:59 -0600> Subject: Re: [C con Clase] Sobrecarga> > OK, os muestro el código:> > #include <iostream>> using namespace std;> int mayor(int a = 0, int b = 0);> int mayor(int a = 0, int b = 0, int c = 0);> int mayor(int a = 0, int b = 0, int c = 0, int d = 0);> int main() {> cout << mayor(10, 4) << endl;> cout << mayor(15, 35, 23) << endl;> cout << mayor(10, 12, 12, 18) << endl;> cin.get();> return 0;> }> int mayor(int a, int b) {> if(a > b) return a; else return b;> }> int mayor(int a, int b, int c) {> return mayor(mayor(a, b), c);> }> int mayor(int a, int b, int c, int d) {> return mayor(mayor(a, b), mayor(c, d));> }> > > Simplemente si os fijáis, es el ejemplo del curso sólo que con parámetros por defecto a 0.> > El error es algo así:> > In function `int main()':> call of overloaded `mayor(int, int)' is ambiguous > candidates are: int mayor(int, int) > int mayor(int, int, int) > int mayor(int, int, int, int) > > Y esto se me repite continuamente cada vez que aparece de alguna forma en el código la función. El enunciado del problema creo que lo estoy interpretando bien, ¿no? Ya que si pongo los valores a cero, el número que se retorne siempre va a ser el mayor.> > Muchas gracias y un saludo, Alejandro.> > El pasado 2007-03-13 12:25:52, Rey escribió:> > R> Hola, pero puedes enviarnos la construcción de la función que estás haciendo.> R> Rey.> _______________________________________________> Lista de correo Cconclase Cconclase en listas.conclase.net> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
_________________________________________________________________
Exprésate - diseña tu página de inicio de Live.com como más te guste.
http://www.live.com/getstarted
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070314/fa11eb3e/attachment.html>


Más información sobre la lista de distribución Cconclase