2

重複の可能性:
C での二重ポインター const-correctness 警告

ここの表を見てください: http://pubs.opengroup.org/onlinepubs/009695399/functions/exec.html

以下は C では無効であることがわかります。

void f(const char * const argv[])
{
    (void)argv;
}

int main(int argc, char *argv[])
{
    (void)argc;
    f(argv);
    return 0;
}

test.c: In function 'main':
test.c:9: warning: passing argument 1 of 'f' from incompatible pointer type
test.c:1: note: expected 'const char * const*' but argument is of type 'char **'

なぜこれが無効なのですか?const char * const argv[]それは ,よりも「より定数」であるように思えますchar * argv [](そしてC ++で許可されています)ので、なぜCでは無効なのですか?

4

0 に答える 0