我有一些C代碼和使用GCC編譯器。匿名聯盟只能有非靜態數據成員GCC C++
的代碼有一些嵌套類型的匿名聯合中:
struct ab {
int a;
int b;
union {
int *c;
int *d;
struct f {
int *c;
int *d;
};
struct e {
int *c;
int *d;
};
};
};
我收到此錯誤:
Error: 'struct ab::<anonymous union>::f' invalid; an anonymous union
can only have non-static data members.
有人可以給爲什麼這個錯誤是發生進一步的解釋?
您收到錯誤,因爲這沒有任何意義。從你的問題中不清楚你期望做什麼,但如果你補充說明,有人可以回答你如何實現這一點。 – hvd
§9.5/5 - *匿名聯合的成員規範 只能定義非靜態數據成員。 [注意:嵌套類型和函數不能在匿名聯合中聲明 。 - 結束說明] * – chris
問題不明確,確切無誤。 –