國立屏東大學 資訊工程學系 物件導向程式設計
C++的union和C語言一樣,在此不再贅述。對union不熟悉的同學,請參考C語言的union與enurmation。
在union宣告方面,C++其實是將union與struct都視為類似的 在union變數的宣告方面,C++要求若以全域方式宣告,union名稱必須先加以定義,不可省略。例如,在C語言中,下列的宣告可以宣告為全域變數:
union { int i; double d; } d1, d2; int main() { ... }
但是在C++中,則必須加上union的名稱才行:
union Data { int i; double d; } d1, d2; int main() { ... }
不過在C++11中,已經取消此限制,如要使用C++11請以-std=gnu++11參數進行編譯。