Possible Duplicate:
Double pointer const-correctness warnings in C
Why does the cases number 1, 2 and 3 works fine in C++, but not number 4 ?
//1
char* p1;
const char* p2 = p1;
//2
char** p3;
char * const * p4 = p3;
//3
char** p5;
const char* const * p6 = p5;
//4
char** p7;
const char** p8 = p7;