第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C++ 回調(diào)函數(shù)怎么傳?

C++ 回調(diào)函數(shù)怎么傳?

森林海 2019-02-07 20:07:07
請(qǐng)問,有個(gè)開源軟件提供的接口是:libvlc_set_exit_handler (libvlc_instance_t *p_instance, void(*cb)(void *), void *opaque),第一個(gè)參數(shù)我傳正確了,第二個(gè)參數(shù)是個(gè)回調(diào)函數(shù),我該怎么傳?
查看完整描述

3 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

typedef void(*lpFunc)(void*);
然后定義一個(gè)對(duì)象: lpFunc hFun;
假設(shè)你的回調(diào)函數(shù)是:fun1();則:hFun=(lpFunc*)fun1;
libvlc_set_exit_handler (libvlc_instance_t *p_instance, hFun, void *opaque)

查看完整回答
反對(duì) 回復(fù) 2019-03-25
?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊

做個(gè)回調(diào)函數(shù)和要求的類型一致,所做事情符合要求,把函數(shù)名也就是函數(shù)地址傳入,如果有一批這樣的函數(shù)用函數(shù)指針也可以!
libvlc_set_exit_handler (libvlc_instance_t *p_instance, void(*cb)(void *), void *opaque)
第二個(gè)參數(shù)是 void(*cb)(void *)
void func (void *opaque )//這就是回調(diào)函數(shù),opaque 是回調(diào)函數(shù)的參數(shù)

{
///////////// 回調(diào)函數(shù)代碼
}
調(diào)用的代碼:
void *opaque= ....//libvlc_set_exit_handler 要求的參數(shù),沒有要求的話隨便什么值。
libvlc_set_exit_handler (p_instance, func, opaque);

例如
void func (void *opaque )//這就是回調(diào)函數(shù),opaque 是回調(diào)函數(shù)的參數(shù)
{
int n=*((int *)opaque);
n*=n;
*((int *)opaque=n;
}
1)調(diào)用的代碼
int t=20;
libvlc_set_exit_handler (p_instance, func, &t);

2)調(diào)用的代碼
void *opaque=&t;

libvlc_set_exit_handler (p_instance, func, opaque);



查看完整回答
反對(duì) 回復(fù) 2019-03-25
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

void(*cb)(void *)
注意:這個(gè)函數(shù)名是void(*cb)是一個(gè)強(qiáng)制類型轉(zhuǎn)換,而要的參數(shù)是" void* ",是一個(gè)void型函數(shù)的指針,直接傳函數(shù)地址就可以了;&funtion();

如果funtion() 已經(jīng)是void* 類型,那么直接function();

查看完整回答
反對(duì) 回復(fù) 2019-03-25
  • 3 回答
  • 0 關(guān)注
  • 942 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)