Possible Duplicate:
why isnt it legal to convert (pointer to pointer to non-const) to a (pointer to pointer to a const)
Why do I get a warning (gcc 42.2) with the following call of foo?
void foo(const char **str)
{
  (*str)++;  
}
(...)
char **str;
foo(str);
(...)
I understand why we cannot call a function that excepting a char ** with a const char **, but the opposite seems ok to me, so why the following warning?
warning: passing argument 1 of 'foo' from incompatible pointer type