Maison >développement back-end >C++ >Comment corriger l'erreur « Expression constante attendue » lors de la déclaration de tableaux en C ?
Résolution de l'erreur « Expression constante attendue » pour la taille du tableau
Considérez le code C suivant :
<code class="cpp">int count = 0; float sum = 0; float maximum = -1000000; std::ifstream points; int size = 100; float x[size][2]; // <<< Error
Ceci le code génère une erreur « expression constante attendue » lors de la déclaration du tableau x. Cette erreur se produit car C nécessite que les tailles de tableaux non statiques soient connues au moment de la compilation.
Solution utilisant des vecteurs
Pour résoudre ce problème, nous pouvons utiliser un vecteur C au lieu d'un tableau :
<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>
Solution utilisant new
Une autre approche consiste à allouer dynamiquement le tableau à l'aide de l'opérateur new :
<code class="cpp">float (*px)[2] = new float[size][2];</code>
Solutions alternatives
Considérations pour les compilateurs non C 11
Si vous Si vous n'avez pas de support C 11, utilisez les techniques suivantes :
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!