Maison >développement back-end >C++ >Voici quelques titres potentiels pour votre article, formatés sous forme de paires question-réponse : **Option 1 (Focus sur l'erreur) :** * **Pourquoi est-ce que je reçois une erreur \'expression constante attendue\' lorsque d

Voici quelques titres potentiels pour votre article, formatés sous forme de paires question-réponse : **Option 1 (Focus sur l'erreur) :** * **Pourquoi est-ce que je reçois une erreur \'expression constante attendue\' lorsque d

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 00:00:021073parcourir

Here are some potential titles for your article, formatted as question-answer pairs:

**Option 1 (Focus on the Error):**
* **Why am I getting an

Erreur d'expression constante attendue dans la taille du tableau

En C, une déclaration de tableau nécessite une taille constante. Lorsqu'une tentative est effectuée pour déclarer un tableau avec une expression non constante, une erreur « expression constante attendue » se produit.

Considérez l'extrait de code suivant :

<code class="cpp">int size = 100;
float x[size][2]; // Error</code>

Dans cet exemple, size est une valeur d'exécution, ce qui en fait une expression non constante. Par conséquent, le compilateur ne peut pas déterminer la taille du tableau au moment de la compilation, ce qui entraîne l'erreur.

Résolution

Pour résoudre ce problème, utilisez une structure de données qui prend en charge le dimensionnement dynamique, tel qu'un std::vector:

<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>

Vous pouvez également utiliser new pour allouer de la mémoire au tableau :

<code class="cpp">float (*px)[2] = new float[size][2];</code>

N'oubliez pas de supprimer[] px après utilisez pour libérer la mémoire.

Autres options

Si vous n'avez pas accès aux fonctionnalités C modernes comme std::vector:

  • Utilisez un vecteur de std::pair
  • Créez votre propre type de tableau avec un dimensionnement dynamique à l'aide de modèles

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn