int Foo(int *pArray[FIXED_SIZE])
{
/*...*/
}
В первом случае pArray
- это массив указателей, а не указатель на массив .
Вам нужны скобки, чтобы использовать указатель на массив:
int Foo(int (*pArray)[FIXED_SIZE])
Вы получаете это бесплатно с typedef
(поскольку это уже тип, *
имеет другое значение). Иными словами, typedef
имеет свои собственные скобки.
Примечание: опыт показывает, что в 99% случаев, когда кто-то использует указатель на массив, он может и должен просто использовать указатель на первый элемент .