OT: C syntax question
Robert Huff
roberthuff at rcn.com
Tue Jun 30 00:41:30 UTC 2009
Let us suppose I have a structure:
struct CONTINENT {
...
}
I use this to create an array of pointers to said struct:
struct CONTINENT *Asia[10][10];
Now I pass this array to a function:
plate_shift(Asia, (int) foo, (float) bar);
In the definition of the function, I say:
int plate_shift(Cont,f,b)
struct CONTINENT *Cont[10][10];
int f;
float b;
{
...
}
and the compiler does not complain. If, however, I try to
prototype the function as:
extern int plate_shift(struct CONTINENT *[][],int,float);
with:
CFLAGS = -Wall -std=c99
I get:
error: array type has incomplete element type
Changing to:
extern int plate_shift(struct CONTINENT *foo[][],int,float);
returns the same error.
K&R 2ed is not helpful, nor is a quick poke around the web.
What am I forgetting?
Respectfully,
Robert Huff
More information about the freebsd-questions
mailing list