首页 文章

模板类中的静态模板变量

提问于
浏览
0

我想定义模板化类的静态模板变量 . 但我无法在这里得到正确的语法:

template < typename T>
class X
{
    public:
        T i;
        X(T _i): i{_i}{}

        operator T(){ return i; }
}; 

 template < typename T2 >
 class Y
 {
     public:
         template <typename T>
             static X<T> x_in_y;
 };

 // something like that, which currently do not compile     
 template< typename T2, typename T>
 X<T> Y<T2>::x_in_y<T>{9.9};

 int main()
 {
      std::cout << Y<int>::x_in_y<float> << std::endl;
 }

1 回答

  • 1

    x_in_y 是模板中的模板,因此您需要嵌套模板声明:

    template<typename T2>
    template<typename T>
    X<T> Y<T2>::x_in_y{9.9};
    

相关问题