たびたびすいません。いつもお世話になっています。
シューティングゲームの弾の処理にタスクリストを使いたいのですが、参考にしている本を読むと
構造体の処理関数へのポインタに
void (*Func)(TASK* task);
のように書かれているのですが、これはどういった意味なのでしょうか?
借りているC/C++等の辞典にものってなくて困っております。
意味と使い方等を、できたら詳しく教えてください。お願いします
タスク処理の記述について
Re:タスク処理の記述について
> void (*Func)(TASK* task);
> これはどういった意味なのでしょうか
TASK型のポインタを引数とし戻り値なしの関数へのポインタです。
引数と戻り値が一致した関数なら、そのポインタをそのメンバ Funcに代入することができます。
> 使い方等を、できたら詳しく教えてください
使い方に関しては、タスクシステムはいろんな種類(私も2種類作ったことがあります)が
存在するので、ソース開示して頂かないとこれ以上は判りません。
> これはどういった意味なのでしょうか
TASK型のポインタを引数とし戻り値なしの関数へのポインタです。
引数と戻り値が一致した関数なら、そのポインタをそのメンバ Funcに代入することができます。
[color=#d0d0ff" face="monospace]#include <stdio.h>
struct TASK
{
int val;
void (*Func)(TASK* task);
};
void TestTask(TASK *task)
{
if(task)
printf("task->val = %d\n", task->val);
}
int main()
{
TASK task;
task.val = 2;
task.Func = &TestTask;
(*task.Func)(&task);
return 0;
}
[/color]
> 使い方等を、できたら詳しく教えてください
使い方に関しては、タスクシステムはいろんな種類(私も2種類作ったことがあります)が
存在するので、ソース開示して頂かないとこれ以上は判りません。