0

私の質問は

void function (const char **params)     
{
    const char *para;       
    para = &params[0]; //1
    para = params;     //2
    para = *&params;   //3 
}

3つのオプションはすべてNetbeansgdbによってコンパイルされますが、gccは互換性のないポインタ型からの割り当てのようにsthを言います。

なぜこの違いがあるのですか....gcc4.6.1を取得し、*paraで**paramsの値を指すためにgccで何ができるか

4

1 に答える 1

3

3 つのケースすべてで、右辺の型は であり、キャストなしで aconst char **に割り当てることはできません。const char *

警告レベルを十分に高くすると、すべてのコンパイラがこれについて警告するはずです。

何をしたいのか明確ではありません。最初のサブ配列の先頭を指す場合は、次のようにします。

para = params[0];
于 2012-07-16T18:28:07.700 に答える