Saltar al contenido

Error de C ++: “La matriz debe inicializarse con un inicializador entre llaves”

Esta crónica fue aprobado por nuestros expertos para garantizar la exactitud de nuestra esta crónica.

Solución:

La sintaxis para inicializar estáticamente un array usa llaves, como esta:

int array[10] =  0 ;

Esto inicializará a cero el array.

Para matrices multidimensionales, necesita llaves anidadas, como esta:

int cipher[Array_size][Array_size]=   0  ;

Tenga en cuenta que Array_size debe ser una constante en tiempo de compilación para que esto funcione. Si Array_size no se conoce en tiempo de compilación, debe utilizar la inicialización dinámica. (Preferiblemente, un std::vector).

No puede inicializar un array a ‘0’ así

int cipher[Array_size][Array_size]=0;

Puede inicializar todos los valores en el array como lo declaras así:

// When using different values
int a[3] = 10,20,30;

// When using the same value for all members
int a[3] = 0;

// When using same value for all members in a 2D array
int a[Array_size][Array_size] =   0  ;

O necesita inicializar los valores después de la declaración. Si desea inicializar todos los valores a 0, por ejemplo, puede hacer algo como:

for (int i = 0; i < Array_size; i++ ) 
    a[i] = 0;

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *