Título: warning en C++ Publicado por: misterharry en 27 Junio 2010, 02:51 am Hola, me estoy iniciando en la programacion de C++ estoy compilando una tarea para la Universidad, pero me arroja dos warnings:
C:\Users\Har\Desktop\Taller.cpp||In constructor 'calle::calle(int, int)':| C:\Users\Har\Desktop\Talle2.cpp|23|warning: 'calle::nro' should be initialized in the member initialization list| C:\Users\Har\Desktop\Taller2.cpp|23|warning: 'calle::sentido' should be initialized in the member initialization list| ||=== Build finished: 0 errors, 2 warnings ===| el programa funciona bien, pero me causa duda esos warnings, tambien trate poniendole inline pero me arrojaba el mismo warning en la otra linea xD le pregunte a mi profesor y me dijo que lo ignorara D: que no es muy poco etico si quiero programar bien. el warning lo manda en calle(int a,int b){nro=a;sentido=b;} Código
desde ya muchas gracias por todo :D Título: Re: warning en C++ Publicado por: nicolas_cof en 27 Junio 2010, 03:20 am Fijate de ponerlo asi...
Código: class calle Otra forma Código: class calle Salu10. Título: Re: warning en C++ Publicado por: leogtz en 27 Junio 2010, 03:22 am ¿Qué compilador?
A mi me compila bien así: Código: leo@lein:~/Escritorio/c_proyect$ cat code.cpp Título: Re: warning en C++ Publicado por: nicolas_cof en 27 Junio 2010, 03:29 am Cita de: Leo Gutiérrez. class calle { public: int nro,sentido; public: calle(int a,int b) { nro = a; sentido = b; } }; Una pregunta, no seria redundante poner 2 veces public? O te confundiste y quisiste poner private? Salu10. Título: Re: warning en C++ Publicado por: leogtz en 27 Junio 2010, 03:44 am Cita de: Leo Gutiérrez. class calle { public: int nro,sentido; public: calle(int a,int b) { nro = a; sentido = b; } }; Una pregunta, no seria redundante poner 2 veces public? O te confundiste y quisiste poner private? Salu10. No, quise ponerlas, me gusta ser lo más explícito posible. @nicolas_cof, ¿crees que está incorrecto lo que hice? :-\ Título: Re: warning en C++ Publicado por: Littlehorse en 27 Junio 2010, 03:56 am Leo, es redundante. Pones un solo public arriba como bien dice Nico y ya esta. En el caso que sean muchos miembros en todo caso podría ser discutible pero en este es redundante. Igualmente los miembros están declarados private por algo en el código inicial. Los miembros de una clase por defecto son de carácter privado.
En cuanto al warning, hazle caso o simplemente déjalo pasar. En este caso no tiene relevancia alguna y lo puedes solucionar simplemente inicializando las variables con un valor neutro o dejandolo pasar en caso que dichas variables tengan garantizado un valor útil. Saludos Título: Re: warning en C++ Publicado por: misterharry en 27 Junio 2010, 04:00 am muchas gracias a todos por las repuestas
el unico que no mando warnig fue este: Código: class calle los otros de igual forma funcionan, pero mandan advertencia al igual que el mio.. otra vez muchas gracias :D a por cierto, uso codeblocks y tanto en win como ubuntu mandaba el mismo eso si si alguien pudiera explicar a que se debe el warnings seria genial ;D thank you!!! ;) Título: Re: warning en C++ Publicado por: nicolas_cof en 27 Junio 2010, 04:07 am misterharry, de aca puedes leer algo... http://www.cprogramming.com/tutorial/initialization-lists-c++.html
Leo Gutiérrez., no creo que sea incorrecto, simplemente me parecio redundante! De ultima nos podemos juntar con el amigo Bjarne y lo conversamos ;D Salu10. Título: Re: warning en C++ Publicado por: misterharry en 27 Junio 2010, 04:15 am Citar Si no fuera por C, programaríamos en BASI, PASAL y OBOL jajajjajjajajaa... q risa!!! gracias nicolas_cof le echare un ojo ;) y en mi opinion lo de Leo no es relevante, creo que se dio cuenta del detalle. Pero bueno, es solo una linea mas de codigo, no afecta en nada o si? Título: Re: warning en C++ Publicado por: leogtz en 27 Junio 2010, 10:42 am No, no afecta, pero tienen razón, las variables miembro son declaradas por defecto a private, yo las cambié a mi gusto a public, haciendo mal, no entendí el contexto de tu código.
Saludos. |