C 中Typedef 的前向聲明
從直覺上看,typedef 的前向聲明是可能的,因為它是一堂課。但是,編譯器不會允許這樣做。相反,有必要轉送聲明 typedef 引用的類型。
例如,假設我們要為名為A 的類別建立一個typedef:
typedef A B; // error: 'A' was not declared in this scope
要解決此問題,我們必須先向前宣告類別A:
class A; typedef A B; // valid
這允許我們稍後在程式碼中引用類型B,即使A 的完整定義是還不知道。
最小化包含樹的最佳實踐
由於我們無法轉發聲明typedef,因此保持包含樹較小的最佳實踐是僅包含標頭當前編譯單元所必需的。這可以透過使用包含防護並仔細管理標頭之間的依賴關係來實現。
以上是為什麼我不能在 C 中轉送聲明 Typedef ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!