"a mismatch of the levels of indirection" could they be more cryptic? anyway, this error message means that the compiler found a pointer problem between variables in 1) an assignment statement, 2) a function's call and declaration, or 3) a comparison statement
you can create the error with something like this
int intNumber;
int *intNewNumber;
intNewNumber = intNumber;
In this case, I really want to save the address of a memory area which contains a Number value.
To fix this error put a "&" in front of intNumber in the assignment statement.
intNewNumber = &intNumber;
the advantage, or disadvantage, is that if I change intNumber, intNewNumer is also changed
hope this helps.