void f(const char *const *a) {}
int main(void)
{
char **a;
f(a);
return 0;
}
kotik@kotik-laptop:/tmp:0> clang test7.c
test7.c:6:4: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types
[-Wincompatible-pointer-types-discards-qualifiers]
f(a);
^
test7.c:1:27: note: passing argument to parameter 'a' here
void f(const char *const *a) {}
^
1 warning generated.
Так и должно быть? Почему?