我們可以在一個函數裏面定義類/ struct。我們是否也可以定義enum和union裏面的函數?我們可以在函數內部定義枚舉嗎?
void fun() {
enum {BIG, MID, SMALL};
// other code.
}
我可以用gcc 4.8.2編譯代碼,但我不確定它是否合法。
我們可以在一個函數裏面定義類/ struct。我們是否也可以定義enum和union裏面的函數?我們可以在函數內部定義枚舉嗎?
void fun() {
enum {BIG, MID, SMALL};
// other code.
}
我可以用gcc 4.8.2編譯代碼,但我不確定它是否合法。
是的,在函數內定義枚舉是完全可以的。您的代碼描繪完全合法的匿名枚舉聲明。
結構和類也可以在函數 中聲明(也可以是匿名的)。 在 函數(而不是名稱空間或類作用域) 內聲明的類型的唯一限制是它們不能用作模板參數。
more information on
Enumeration
那麼關於模板參數的限制已經從C++ 11,對模板參數的詳細信息更改可在鏈接中找到Template Parameters
它是合法的。請確保 – nikniknik2016