【ANSI-C】 C言語なら俺に聞け! Part 128
■ このスレッドは過去ログ倉庫に格納されています
0283デフォルトの名無しさん
2006/07/17(月) 04:22:56void func(const int *a){ printf("a=%d\n",*a);}
int main(void){
int a=10;
func(a); return 0;
}
のように、呼び出し元のポインタの内容を変えないことを補償するために、
constを付けることはよくやりますよね?
同じことを、ポインタのポインタを引数に持つ関数でやるには、
どうすればいいのでしょう?
const int *a;
int *b;
なa,bに対して、a=b;は、問題なく出来るのですが、
const int **a;
int **b;
に対しては、a=b;は、コンパイラがエラーを吐きます。
const int **a;
が、(const intへのポインタ)へのポインタだから、って理由は分かるのですが、その解決策が分かりません。
よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています