函數(shù)指針編譯時出錯怎么辦?
1. 問題
粉絲提問:某個函數(shù)指針的使用:編譯時出錯了。
type defaults to 'int' in declaration of 'on_touch_messgae_h(yuǎn)andle'[-Wimplicit-int] typedef(*on_touch_messgae_h(yuǎn)andle)(touch_message_t);
粉絲源碼如下:
2. 分析
1) 結(jié)構(gòu)解析
1 struct touch_message
2 {
3 rt_uint16_t x;
4 rt_uint16_t y;
5 rt_uint8_t event;
6 };
7 typedef struct touch_message * touch_message_t;
8 typedef (*on_touch_messgae_h(yuǎn)andle)(touch_message_t);
首先看下7行這個類型定義:
typedef struct touch_message * touch_message_t;
定義后
touch_message_t
等價于
struct touch_message *
就是說我們?nèi)绻胻ouch_message_t 定義的變量是一個struct touch_message類型的一個指針。
再來分析下8行這個定義:
typedef (*on_touch_messgae_h(yuǎn)andle)(touch_message_t);
可以替換成下面這個定義
typedef (*on_touch_messgae_h(yuǎn)andle)(struct touch_message *);

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會
-
即日-5.15立即報(bào)名>>> 【在線會議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評 >> 【評選啟動】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?