Hola codigo333.
Cuando se envía un arreglo como parámetro, se está enviando un apuntador al primer elemento del mismo. Es decir que cuando aplicas la función
sizeof al parámetro, no estas obteniendo el tamaño del arreglo sino del apuntador.
Tal vez la situación se vea mas clara declarando la función de este modo:
Código C++:
Ver originalLongitudArray(int *array)
{
return sizeof(array) / sizeof(array[0]); // = 1
}
La función no posee información sobre el tamaño del arreglo que se le envía como argumento.
Saludos. :)