'identifier1' : 'operator' : different levels of indirection from 'identifier2'
A pointer can point to a variable (one level of indirection), to another pointer that points to a variable (two levels of indirection), and so on.
Example
void main() { char **p;// two levels of indirection char *q; // one level of indirection p = q; // warning C4047 }