ALERTA EN COMPILACION

ALERTA EN COMPILACION

de Ignacio Javier Gonzalez Ubiedo -
Número de respuestas: 3
Buenas, al momento de compilar el programa de prueba, si bien no me salen errores, me sale la siguiente alerta

Obligatorio1.c: In function ‘main’:
Obligatorio1.c:6:19: warning: passing
argument 2 of ‘llenarVector’ from in
compatible pointer type [-Wincompatib
le-pointer-types]
   6 |  llenarVector(2.0,v);
     |                                ^
     |                                |
     |                                float *
In file included from matriz.h:25,
                from Obligatorio1.c:
2:
matriz.c:3:36: note: expected ‘float
(*)[3]’ but argument is of type ‘floa
t *’
   3 | rVector(float r,Vector3 *v){
     |                         ~~~~~~~~~^
Por que podria darse esto?, me fije y lo que le estoy pasando es del tipo Vector3, pero segun entiendo, no lo reconoce asi


En respuesta a Ignacio Javier Gonzalez Ubiedo

Re: ALERTA EN COMPILACION

de Nicolas Portillo Di Matteo -
El * qué pusiste en la declaración adentro de la función no va, eso es para definir un puntero y no es el caso. Coloca solo Vector3 v
En respuesta a Nicolas Portillo Di Matteo

Re: ALERTA EN COMPILACION

de Ignacio Javier Gonzalez Ubiedo -
claro, pero en la letra te pide modificar ciertos parametros de ciertas funciones, lo que da a entender que tales parametros se deben pasar por referencia, lo cual si no me equivoco se hace con ese puntero. tambien entiendo que un puntero y un array "son lo mismo", osea que segun entiedno de esto es que a efectos de pasar por referenca un parametro de una funcion son equivalentes tanto el puntero como el array, ¿es esto cierto?
En respuesta a Ignacio Javier Gonzalez Ubiedo

Re: ALERTA EN COMPILACION

de Nicolas Portillo Di Matteo -
La diferencia entre un puntero y un arreglo esta en como se asigna la memoria, en el arreglo la asignación es estática mientras que en el puntero no. Igual no me preocuparía por eso ahora. El tipo Vector3 ya esta definido. Si lo usas como esta definido no te va dar error.