es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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.

Tags:  , , , ,

Answer

  1. Avatar for 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:

    size = nums.size();
    

    utiliza:

    size = sizeof(nums)/sizeof(nums[0]);
    

    Esto te dará correctamente el tamaño del array nums, que luego puedes utilizar en tu bucle for.

    ¡Espero que esto te ayude!

Comments are closed.