在ADS下编译出错. 如下.
struct ieee80211_tx_rate{
s8 idx;
u8 count;
u8 flags;
};
struct ieee80211_tx_info {
/* common information */
u32 flags;
u8 band;
u8 antenna_sel_tx;
/* 2 byte hole */
u8 pad[2];
union {
struct {
union {
/* rate control */
struct {
struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES];
s8 rts_cts_rate_idx;
}; /////出错地方
/* only needed before rate control */
unsigned long jiffies;
};////出错地方
/* NB: vif can be NULL for injected frames */
struct ieee80211_vif *vif;
struct ieee80211_key_conf *hw_key;
struct ieee80211_sta *sta;
} control;
struct {
struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES];
u8 ampdu_ack_len;
u64 ampdu_ack_map;
int ack_signal;
/* 8 bytes free */
} status;
struct {
struct ieee80211_tx_rate driver_rates[IEEE80211_TX_MAX_RATES];
void *rate_driver_data[IEEE80211_TX_INFO_RATE_DRIVER_DATA_SIZE / sizeof(void *)];
};////出错地方
void *driver_data[IEEE80211_TX_INFO_DRIVER_DATA_SIZE / sizeof(void *)];
};////出错地方
};
编译后四个地方报错:
Error: C2487E: declaration with no effect
Error: C2487E: declaration with no effect
Error: C2487E: declaration with no effect
Error: C2487E: declaration with no effect
这是怎么回事? 是否是结构体嵌套造成的?
struct {
struct ieee80211_tx_rate driver_rates[IEEE80211_TX_MAX_RATES];
void *rate_driver_data[IEEE80211_TX_INFO_RATE_DRIVER_DATA_SIZE / sizeof(void *)];
};////出错地方
好像出错的地方,结构都没有名字啊?
struct {
struct ieee80211_tx_rate driver_rates[IEEE80211_TX_MAX_RATES];
void *rate_driver_data[IEEE80211_TX_INFO_RATE_DRIVER_DATA_SIZE / sizeof(void *)];
};////出错地方
结构里要求有实体
我靠,多查了下struct的用法,被人抢先了!!!
确实没看到结构体名字. 这是从linux源码移植过来的. 编译不通过. 奇怪为什么gcc可以编译通过?