It is legal to convert a pointer-to-non-const to a pointer-to-const.
Then why isn\'t it legal to convert a pointer to pointer to non-const to a
Just since nobody has posted the solution, here:
char *s1 = 0; const char *s2 = s1; // OK... char *a[MAX]; // aka char ** const char * const*ps = a; // no error!
(http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.17 for why)