Título: No entiendo este error de compilación Publicado por: Noob_boy en 5 Enero 2016, 17:53 pm Buenas a todos, pues os explico estaba intentando hacer una función que realice el algoritmo de ordenación burbuja, pero me salta un error de compilación en la línea 5 que no entiendo, dice " invalid type argument of unary '*' (have 'int')"
El código es Código
Gracias por adelantado. Título: Re: No entiendo este error de compilación Publicado por: ivancea96 en 5 Enero 2016, 17:58 pm Pusiste "int arr". Querrías decir "int arr[]"
Título: Re: No entiendo este error de compilación Publicado por: MAFUS en 5 Enero 2016, 21:47 pm Imprime el valor sizeof arr dentro de la función orden y comparalo con el valor sizeof vec de main, puede que te lleves una sorpresa.
Después, línea 8, donde pone Código debe poner Código
Título: Re: No entiendo este error de compilación Publicado por: Noob_boy en 6 Enero 2016, 16:10 pm Muchas gracias ivancea96 y MAFUS :), ahora no entiendo porque el tamaño del vector es diferente en la función que en main :-X
Título: Re: No entiendo este error de compilación Publicado por: MAFUS en 6 Enero 2016, 21:24 pm Cuando una función recibe como argumento un array, lo que hace C es transformar ese argumento en un puntero. Como ya no se tiene un array -no son objetos iguales, aunque se parecen un poco trabajan de forma diferente- esa información del tamaño ha desaparecido.
Si todavía no has borrado tu programa en la función 'orden' imprime el resultado de sizeof(int*) y compáralo con el sizeof arr. Título: Re: No entiendo este error de compilación Publicado por: Noob_boy en 8 Enero 2016, 14:03 pm ya veo que efectivamente coinciden. Gracias de nuevo por la lección :D
|