Hola a toda la comunidad de
solocódigo... he pasado la tarde intentando crear una función en C++ que calcule la cantidad de elementos que posee un arreglo. Tengo la siguiente instrucción:
cantidad = sizeof(v)/sizeof(v[0]);
donde v es un arreglo de 5 posiciones. básicamente divide el tamaño del arreglo entre la primera posición (ya que todas las posiciones deberian tener el mismo tamaño). La cuestión es que el código se comporta de forma extraña dentro de una funcion. Tengo la siguiente funcion:
int cantidad(int v[])
{ return sizeof(v)/sizeof(v[0]);
}
Al parecer, pasar un arreglo como parámetro solo envía la primera posicion del arreglo, entonces al dividir es como si estuviera haciendo 1/1=1... Siempre me dará una posición. Hay alguna forma de capturar todo el arreglo dentro de la función?
NOTA: no quiero pasar un segundo parámetro indicando el número de elementos, la idea es que la función determine eso. Si esto es imposible, al menos avísenme para no seguir intentando.
Saludos y Gracias