アプリ版:「スタンプのみでお礼する」機能のリリースについて

初心者でつまずいてます。
ご存知の方教えていただけないでしょうか?
http://developer.apple.com/samplecode/PlayAudioF …
のサンプルソースを見ているのですが

MyFileRenderProc宣言内の
err = AudioConverterFillComplexBuffer(converter, MyACComplexInputProc ,inInputDataProcUserData , &inNumFrames, ioData, outPacketDescription);
のMyACComplexInputProcと

setupCallbacks宣言内の
renderCallback->inputProc = MyFileRenderProc;
のMyFileRenderProc

はどういう状態なのでしょうか?
関数の戻り値が入るような気がするのですが
引数が記述されてないし,,,
よろしくお願いします。

A 回答 (1件)

AudioConverterFillComplexBuffer の第2引数プロトタイプ宣言や、renderCallback->inputProc での構造体メンバinputProcの型が書かれてないので確実とはいえませんが、まず間違いなくこれらは関数へのポインタ型変数で、参照されている MyACComplexInputProc や MyFileRenderProcは、関数自体(関数処理プログラムのアドレス)を表していると思います。

関数アドレス自体でなく、別の「関数へのポインタ型変数」かもしれません。

下記のプログラムの意味が分かるでしょうか?2行目が関数アドレスの「関数へのポインタ」への代入、4行目が「関数へのポインタ」から「関数へのポインタ」への代入です。
double (*p)(double),(*q)(double);
p=sin; q=cos;
printf("%10.8f\n",(*p)(3.1416/2));
p=q;
printf("%10.8f\n",(*p)(3.1416/2));
    • good
    • 0
この回答へのお礼

ありがとうございます。
なんとなくわかりました。
これで前へすすめる事ができます。
助かりました。

お礼日時:2004/06/06 22:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!