me escribió una función que toma un puntero a una matriz para inicializar sus valores:Puntero al array como parámetro de la función
#define FIXED_SIZE 256
int Foo(int *pArray[FIXED_SIZE])
{
/*...*/
}
//Call:
int array[FIXED_SIZE];
Foo(&array);
Y no compila:
error C2664: 'Foo': no puede convertir parámetro 1 de 'int (* __ w64) [256]' a 'int * []'
Sin embargo, lo pirateé todo:
typedef int FixedArray[FIXED_SIZE];
int Foo(FixedArray *pArray)
{
/*...*/
}
//Call:
FixedArray array;
Foo(&array);
Y funciona. ¿Qué me estoy perdiendo en la primera definición? Pensé que los dos sería equivalente ...
Sí, puntero al primer elemento, así como el tamaño (si es necesario, que probablemente sea). –
¡Me ganaste! – Mosby