ページ 1 / 1
タスク処理の記述について
Posted: 2007年11月09日(金) 00:16
by りょうちん
たびたびすいません。いつもお世話になっています。
シューティングゲームの弾の処理にタスクリストを使いたいのですが、参考にしている本を読むと
構造体の処理関数へのポインタに
void (*Func)(TASK* task);
のように書かれているのですが、これはどういった意味なのでしょうか?
借りているC/C++等の辞典にものってなくて困っております。
意味と使い方等を、できたら詳しく教えてください。お願いします
Re:タスク処理の記述について
Posted: 2007年11月09日(金) 02:16
by Justy
> void (*Func)(TASK* task);
> これはどういった意味なのでしょうか
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種類作ったことがあります)が
存在するので、ソース開示して頂かないとこれ以上は判りません。
Re:タスク処理の記述について
Posted: 2007年11月09日(金) 12:49
by りょうちん
分かりやすい例まで載せていただいて、本当にありがとうございます。