Maison >développement back-end >C++ >Comment corriger une erreur de syntaxe « l'expression doit avoir une valeur constante » lors de la déclaration de tableaux en C ?
Dépannage : erreur de syntaxe dans la déclaration du tableau
Lorsque vous essayez de créer un tableau à partir de variables déclarées, vous pouvez rencontrer l'erreur :
expression must have a constant value
Cette erreur survient parce que les tableaux en C nécessitent des expressions constantes pour leur tailles.
Résolution de l'erreur
Pour résoudre cette erreur, vous avez deux options :
Les tableaux dynamiques permettent un dimensionnement variable en allouant mémoire sur le tas. Cependant, vous devez allouer et libérer manuellement cette mémoire à l'aide des opérateurs new et delete :
// Allocate the array int** arr = new int*[row]; for (int i = 0; i < row; i++) arr[i] = new int[col];
// Use the array // ... // Deallocate the array for (int i = 0; i < row; i++) delete[] arr[i]; delete[] arr;
Pour conserver un tableau de taille fixe, vous devez déclarer les dimensions comme constant :
const int row = 8; const int col = 8; int arr[row][col];
Attentions
La syntaxe que vous avez fournie, int [row][col];, est incorrecte car elle ne spécifie pas de nom de variable pour le tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!