Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Escuiquirin en 24 Agosto 2016, 19:57 pm



Título: Problema con la derivación de clases c++
Publicado por: Escuiquirin en 24 Agosto 2016, 19:57 pm
Bueno, he estado un ratillo dándole al código, pero soy un poco nuevo en el tema de derivación de las clases.

Los .h

vehiculo.h: https://paste.moepl.eu/view/13d78e6a
AutoCompacto.h: https://paste.moepl.eu/view/3a66a569
Camioneta.h: https://paste.moepl.eu/view/ef738501
Vagoneta.h: https://paste.moepl.eu/view/6c5f2da6

vehiculo.cpp: https://paste.moepl.eu/view/41e16612
AutoCompacto.cpp: https://paste.moepl.eu/view/24f372ef
Camioneta.cpp: https://paste.moepl.eu/view/d5d71e6f
Vagoneta.cpp: https://paste.moepl.eu/view/d3a8c9df
main.cpp: https://paste.moepl.eu/view/2de6c7f5

A la hora de compilar el main me dice esto..

main.cpp:16: undefined reference to `Vehiculo::Vehiculo()'
main.cpp:27: undefined reference to `Vehiculo::capturarVehiculo()'
main.cpp:32: undefined reference to `Vehiculo::capturarVehiculo()'
main.cpp:37: undefined reference to `Vehiculo::capturarVehiculo()'
collect2.exe: error: ld returned 1 exit status

Alguien que me pueda ayudar? se lo agradecería mucho


Título: Re: Problema con la derivación de clases c++
Publicado por: class_OpenGL en 24 Agosto 2016, 20:28 pm
Yo acabo de compilar el código, y hay MUCHIIISIMOS más errores que los que mencionas... Simplemente voy a poner un ejemplo para que no se me tome por mentiroso:

Código:
C:/MinGW64/mingw64/x86_64-w64-mingw32/include/c++/ostream:574:5: note:   templat
e argument deduction/substitution failed:
clasesvehiculo/vehiculo.cpp:109:52: note:   cannot convert 'Vehiculo::mostrarPre
cio()' (type 'void') to type 'const unsigned char*'
                 cout << "Precio: " << mostrarPrecio() << endl;
                                                    ^

Ese error viene de este fragmento:

Código
  1. void Vehiculo::mostrarPrecio()
  2. {
  3.        return precio;
  4. }
  5.  
  6. [...]
  7.  
  8. void Vehiculo::mostrarVehiculo()
  9. {
  10.        [...]
  11.        cout << "Precio: " << mostrarPrecio() << endl;
  12. }

La función, en teoría, tendría que retornar algo, pero le pusiste que retornara void...

Por si quieres la lista completa de errores lanzada por MinGW, aquí la tienes:
http://www.mediafire.com/download/lcchftx34bpjhah/log.txt (http://www.mediafire.com/download/lcchftx34bpjhah/log.txt)

Para que veas la cantidad de errores, el archivo ocupa 211 KB XDD