Это синтаксис для ссылок на массивы - вам нужно использовать (&array)
, чтобы указать компилятору, что вы хотите ссылку на массив, а не (недействительный) массив ссылок int & array[100];
.
РЕДАКТИРОВАТЬ: некоторые пояснения.
void foo(int * x);
void foo(int x[100]);
void foo(int x[]);
Эти три различных способа объявления одной и той же функции.Все они обрабатываются как принимающие параметр int *
, вы можете передать им массив любого размера.
void foo(int (&x)[100]);
Это принимает только массивы из 100 целых чисел.Вы можете безопасно использовать sizeof
на x
void foo(int & x[100]); // error
Это анализируется как «массив ссылок», что недопустимо.