C ++ – Trop d’initialiseurs pour les tableaux

J’ai fait un tableau comme celui-ci, mais ensuite il continue de dire que j’ai trop d’initialiseurs. Comment puis-je réparer cette erreur?

int people[6][9] = {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}}; 

 int people[6][9] = { {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, }; 

Les tableaux en C sont dans l’ordre des lignes, puis des colonnes. Il y a donc 6 lignes de 9 entiers et non 9 lignes de 6 entiers dans l’initialiseur pour le tableau que vous avez défini.

Le problème ici est que vous avez les index de lignes / colonnes échangés dans la partie déclaration de tableau, ce qui confond le compilateur.

Normalement, lors de la déclaration d’un tableau multidimensionnel, le premier index concerne les lignes, le second les colonnes.

Ce formulaire devrait résoudre ce problème:

  int people[9][6] = {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}}; 

Vous avez mélangé le 6 et le 9 dans les index.