Problemas con el paso por valor

Jlma
26 de Agosto del 2005
Hola encantado de conocerles.

Resulta ke para un juego tengo distintas clases creadas tablero,jugador y una configuracion. Pues bien a la hora de hacer una funcion ke devuelva una jugada (pongo esta de ejemplo pero apsa con todas) puedo pasar los objetos como referencias o referencia constante y perfecto pero si lo intento por valor me da error al compilar.


Me dice

src/conectaN.cpp:65: undefined reference to `jugada(jugador&, tablero&, configuracion&, tipoficha, bool)\'
src/conectaN.o(.text+0x4da):src/conectaN.cpp:67: undefined reference to `jugada(jugador&, tablero&, configuracion&, tipoficha, bool)\'
src/conectaN.o(.text+0x71e):src/conectaN.cpp:95: undefined reference to `jugada(jugador&, tablero&, configuracion&, tipoficha, bool)\'
src/conectaN.o(.text+0x74d):src/conectaN.cpp:97: undefined reference to `jugada(jugador&, tablero&, configuracion&, tipoficha, bool)\'
collect2: ld devolvió el estado de salida 1


int jugada(jugador j,tablero &t,configuracion &c,tipoficha ficha,bool automatico) esta es la cabecera del programa como puede observarse le he kitado el & a jugador j y en el error me menciona jugador j con un &.

y asi como la invoco en el main

posicion=jugada(jugador1,t,c,roja,automatico);

Me he dado cuenta ke posbilemente no sepa pasar objetos por valor porke me pasa con todos. El unico ke utiliza memoria dinamica es el tablero y le tengo escrito su constructor de copia para ke realice el paso por valor de manera adecuada PERO SIEMPRE KE INTENTO PASAR UN OBJETO POR VALOR ME DA EL ERROR DE REFERENCIA INDIFINIDA PARA JUGADOR.

Seguro ke es un error de principiante una regla ke no cumplo o algo pero no se ke es, serian tan amables de echarme un cable?

felix
26 de Agosto del 2005
probablemante no se trate de los parametros en si sino de la clase jugador ,,
estas seguro que el objeto jugador esta inicializado o que existe tal clase ...
probablemente se encuentre en otro fichero y el enlase no se realiza bien ..
pues el paso de parametros por valor es la opcion por default de CC++ que no nececita de nada para hacerlo.

bueno creo que deverias mandar algo mas de codigo para verificarlo.

Saludos.