Why this shows warning:
#include foo (const char **p) { } int main(int argc , char **argv) { foo(argv); }
But following
See the C FAQ list
You can cast in order to remove warnings:
foo((const char **)argv);
But as FAQ says: the need for such a cast may indicate a deeper problem which the cast doesn't really fix.