Maison > développement back-end > C++ > le corps du texte

Pourquoi C lance-t-il 'attendu ',' ou '...' avant le jeton '*'' lors du passage d'un tableau bidimensionnel par référence ?

Linda Hamilton
Libérer: 2024-11-06 00:41:02
original
1007 Les gens l'ont consulté

Why Does C   Throw

Passer une référence à un tableau bidimensionnel

Problème

Lors de la tentative de transmission d'une référence à un tableau bidimensionnel à une fonction dans C , les utilisateurs peuvent rencontrer l'erreur "attendu ',' ou '...' avant le jeton '*'" de g . La question se pose : qu'indique cette erreur et comment la résoudre ?

Solution

L'erreur indique que le prototype de fonction pour do_something() est incorrect. Pour transmettre une référence à un tableau bidimensionnel avec des dimensions connues au moment de la compilation, la syntaxe suivante doit être utilisée :

<code class="cpp">void do_something(int (&array)[board_width][board_height]);</code>
Copier après la connexion

Déclarer le paramètre comme int array[board_width][board_height]; passerait à la place un pointeur vers le premier sous-tableau du tableau, ce qui n'est pas la fonctionnalité souhaitée dans ce cas.

Explication

La syntaxe de référence &array garantit que le tableau réel est transmis par référence, permettant à la fonction de modifier directement le contenu du tableau. La notation int (&array)[board_width][board_height] spécifie que le tableau de paramètres est une référence à un tableau bidimensionnel avec les dimensions board_width et board_height.

En revanche, int array[board_width][board_height] ; déclare le tableau de paramètres comme un pointeur vers un tableau unidimensionnel d'entiers board_height, ignorant ainsi la deuxième dimension du tableau. Cela entraîne l'erreur signalée car la syntaxe est incorrecte.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!