C'est une syntaxe pour les références de tableau - vous devez utiliser (&array)
pour préciser au compilateur que vous voulez une référence à un tableau, plutôt que de la (non valide) tableau de références int & array[100];
.
EDIT: Quelques précisions.
void foo(int * x);
void foo(int x[100]);
void foo(int x[]);
Ces trois sont les différentes façons de déclarer la même fonction. Ils sont tous traités comme de prendre un int *
paramètre, vous pouvez passer n'importe quel tableau de taille pour eux.
void foo(int (&x)[100]);
Cela ne accepte un tableau de 100 entiers. Vous pouvez utiliser en toute sécurité sizeof
sur x
void foo(int & x[100]); // error
C'est analysée comme un "tableau de références" - qui n'est pas légal.