以下是我的.h文件前「*」標記錯誤預期「)」在C
1 typedef int32_t status_t;
2 typedef u_int16_t pic_id_t;
3 typedef const char* (*pic_flavor_t) (pic_t *);
4 typedef status_t (*pic_periodic_t) (pic_t *);
5 typedef status_t (*pic_get_port_info_t) (pic_t *pic, u_int16_t link,void *info,boolean *need_update);
6
7 struct pic_
8 {
9 u_int16_t nic_slot;
10 u_int16_t pic_slot;
11 u_int32_t pic_flags;
12 pic_id_t pic_id;
13 u_int16_t pic_asic_type;
14 u_int16_t pic_firstport;
15 pic_periodic_t pic_periodic;
16 pic_flavor_t pic_flavor;
17 pic_get_port_info_t pic_get_port_info;
18 void *pic_context;
19 }pic_t;
20
,這些都是我已經得到了錯誤。
../../../../../src/pfe/common/drivers/rpio/rpio_tunnel_pvt1.h:3: error: expected ')' before '*' token
../../../../../src/pfe/common/drivers/rpio/rpio_tunnel_pvt1.h:4: error: expected ')' before '*' token
../../../../../src/pfe/common/drivers/rpio/rpio_tunnel_pvt1.h:5: error: expected ')' before '*' token
../../../../../src/pfe/common/drivers/rpio/rpio_tunnel_pvt1.h:15: error: expected specifier-qualifier-list before 'pic_periodic_t'
我想爲我的.c文件創建一個新的.h文件。在這裏,我包含了我的.c文件中需要的幾個結構的定義。 我無法解決這些錯誤。
但如果我定義 pic_id_t 前pic_id 的typedef爲const char *(* pic_flavor_t)(pic_t *); 那麼它會再次尋找一個定義! – user3409272
'pic_id_t'與'pic_t'不同。 –
所以我應該先寫結構 然後pic_id_t pic_id – user3409272