簡體   English   中英

聲明嵌套類模板的靜態對象

[英]Declare static object of a nested class template

我試圖在第一個類模板中聲明一個嵌套類模板的靜態對象,如下所示:

template <typename... a_t>
class A {
private:
    template <typename... b_t>
    class B {

    };

    static B<a_t...> b;
};

這是我期望的代碼,可以完成這項工作,但是會導致編譯錯誤,盡管這里此答案 ,但它適用於第二個類模板中的非模板成員:

template <typename... a_t>
template <typename... b_t>
A<a_t...>::B<b_t...> A<a_t...>::b; //incorrect?

什么是正確的語法可以做到這一點?

您忘記了typename關鍵字:

template <typename... a_t>
typename A<a_t...>::B<a_t...> A<a_t...>::b;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM