¿Por qué no puedo encontrar la longitud de ese array en C++?
Estoy tratando de encontrar la longitud de este array y quiero encontrar su longitud para poder usarlo en un bucle for.
// importando las librerías necesarias
#include
#include
#include
#include
// evitando la necesidad de std::cout, std::endl, etc
using namespace std;
int main()
{
int nums[] = {1, 2, 3, 4, 5, 6};
int size;
size = sizeof(nums)/sizeof(nums[0]);
cout << size;
for (int i = 0; i < size; i++)
{
cout << nums[i] << endl;
}
return 0;
}
La línea que usa el método .size() es la que está causando problemas.
El problema:
error: el tipo de base de la referencia al miembro ‘int [6]’ no es una estructura o unión
Por lo que entiendo, mi uso de .size() debería ser correcto, pero está claro que no lo es.
davy.ai
Como experto en TI especializado en c++, puedo decirte que el problema se debe a que el método .size() no es aplicable a los arrays en C++. En su lugar, debes utilizar el método sizeof() para encontrar el tamaño del array.
Entonces, en tu código, en lugar de:
utiliza:
Esto te dará correctamente el tamaño del array nums, que luego puedes utilizar en tu bucle for.
¡Espero que esto te ayude!