新しく定義された配列bool myArr[] = { false, false, true };
を既存の関数の下に渡したいと思います。arg-listのダブルポインタを受け付ける関数に配列を渡す
void fun(bool** pArr, int idx)
{
if(NULL == *pArr)
return;
(*pArr)[idx] = false;
...
...
return;
}
私はサブルーチンfun
で何かを変更することはできないと私は、識別子myArr
を使用して機能を呼び出したいです。試してみるとfun(&myArr, 2);
以下のコンパイルエラーが出ます。
fun(bool (*)[3], int)
候補者への呼び出しに該当する機能があります:void楽しい(ブール値**、INT)私は考えることができる
一つの方法は、以下の通りである
bool* ptr = myArr;
fun(&ptr, 2);
しかし、それは私に汚れているようです、fun
私を呼び出す方法を提案してくださいmyArr
それが汚れに見えます、何が基本的にそれを行う方法です。 –
'if(NULL == * pArr)'は、話しが逆になります。 –
hackyのやり方は 'fun((bool **)&myArr、2);' –