首頁 > 後端開發 > C++ > 可以使用初始化列表呼叫顯式模板建構函數嗎?

可以使用初始化列表呼叫顯式模板建構函數嗎?

Mary-Kate Olsen
發布: 2024-12-02 16:56:10
原創
807 人瀏覽過

Can Explicit Template Constructors Be Invoked Using Initializer Lists?

如何使用初始化列表調用顯式模板構造函數

問題:

可以顯式模板使用初始值設定項清單呼叫建構函數,如下所示例如?

答案:

不幸的是,不可能使用初始值設定項清單明確呼叫範本建構子。

根據C標準位於14.8.1/7,「[...] 因為轉換成員函式範本和建構函式成員函式範本在不使用函式名,無法為這些函式範本提供明確範本參數列表。在您的情況下,編譯器將 t 解釋為作為基類類型,導致程式碼失敗。

要解決此問題,您可以採用解決方法:

這裡,identity 充當模板參數的佔位符。在 C 20 中,您可以使用 std::type_identity 作為身分類型。

以上是可以使用初始化列表呼叫顯式模板建構函數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板