從模板化父類訪問繼承變數
針對模板化父類中變數可訪問性的詢問,有必要澄清一下:現代GNU C編譯器,從3.4.6版本開始,嚴格遵守C標準。它規定模板中的非限定名稱始終是非依賴的。因此,由於依賴基類專門化的未知性質,在模板定義時解析這些名稱變得不可行,例如在提供的程式碼片段中:
此行為源於在模板定義期間識別不合格名稱的要求。模板定義,由於未來潛在的專業化,這對於依賴基類是不可能的。因此,嘗試在“Bar”的“Perna”方法中存取未限定的受保護變數“a”將導致錯誤。
要規避此限制,需要使用限定名稱「Foo
此外,在基底類別中宣告的非限定函數名稱也受此限制。若要存取此類函數,必須使用限定名稱或提供“using”聲明。
以上是如何在 C 中存取模板化父類別的繼承變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!