Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Llamada a funcion pide &int como argumento, cuando le paso un simple Int

Estas en el tema de Llamada a funcion pide &int como argumento, cuando le paso un simple Int en el foro de C/C++ en Foros del Web. Hola gente. Es un problema demasiado raro para explicarlo en el título. el prototipo de la funcion es: Cara* crearCara(const int& ind1,const int& ind2,const int& ...
  #1 (permalink)  
Antiguo 20/03/2011, 03:37
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 9 meses
Puntos: 2
Llamada a funcion pide &int como argumento, cuando le paso un simple Int

Hola gente.

Es un problema demasiado raro para explicarlo en el título.

el prototipo de la funcion es:
Cara* crearCara(const int& ind1,const int& ind2,const int& ind3,const int& ind4,const int& indCara);


Hago dos llamadas:
crearCara(ind,ind+_NP,ind+_NP+1,ind+1);
crearCara(ind,j,j+1,ind+1);


error que me da para la primera llamada:
no matching function for call to 'MR::crearCara(int&, int, int, int)'
error para la segunda:
no matching function for call to 'MR::crearCara(int&, int&, int, int)'

En la primera veo que meto un ind. ind es un contador que voy actualizando. Estas llamadas están dentro de un bucle for, y ind no es el indice del bucle, si no otro de fuera.

En la segunda le meto ind y j, j en este caso es un contador en el bucle for donde está la llamada. Veo que al no hacer operación aritmética con índices, y meterlo directamente dice que debe ser un parametro por referencia.

pero es que yo los quiero los 4 por referencia!.

Por qué no funciona ninguna de estas llamadas?
__________________
Darkgaze
  #2 (permalink)  
Antiguo 20/03/2011, 03:42
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 9 meses
Puntos: 2
Respuesta: Llamada a funcion pide &int como argumento, cuando le paso un simple Int

Sigue fallando aún haciendo

ind+1-1 para que al menos no pida referencia.

Sigue fallando. Me dice que no existe... me pregunto si es por la herencia. Esta clase hereda de otra. Estoy llamando a una función de la madre que es protegida. Se hace así simplemente, como en Java, o hace falta llamar a claseMadre:: ?
__________________
Darkgaze
  #3 (permalink)  
Antiguo 20/03/2011, 04:05
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 9 meses
Puntos: 2
Respuesta: Llamada a funcion pide &int como argumento, cuando le paso un simple Int

....

vale. genial. era porque el prototipo tiene cinco parametros y yo le estaba pasando solo 4. Y para llamar a un metodo de la madre no hace falta poner nada.

Lo que no entiendo es porqué espera & cuando no es así, o elige como quiere, según es un índice directamente, o una operación aritmética con el índice...
__________________
Darkgaze

Etiquetas: funcion, int, llamada, simple, argumentos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:35.