C 中枚舉的前向聲明
枚舉提供了一種便捷的方式來表示 C 中的命名常數。但是,如查詢中所指出的,嘗試前向聲明枚舉(如範例程式碼所示)會導致編譯器錯誤。此行為源自於 C 的早期版本(C 11 之前)。
在 C 03 及更早版本中,枚舉的大小由其內容決定。由於這種依賴性,前向聲明被禁止,因為編譯器在不知道枚舉元素的情況下無法確定枚舉的大小。
但是,隨著 C 11 的引入,這項限制被解除。現在,只要明確指定枚舉的大小,就可以向前宣告枚舉。如同回應中所解釋的,可以透過在枚舉聲明中附加類型說明符來完成此規範:
例如:
enum Enum1 : unsigned int; // Forward declaration with an unsigned int size
先前向聲明表明枚舉Enum1 將具有一個unsigned int 的基礎類型,允許在將來的聲明中使用它。
此功能可以更好地控制枚舉值的可見性,如圖所示在詢問中。透過在頭文件中前向聲明枚舉並在 .cpp 文件中內部定義它,開發人員可以向外部用戶隱藏枚舉的具體值。
以上是C 枚舉可以向前宣告嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!