代码之家  ›  专栏  ›  技术社区  ›  fatdragon

如何使用[duplicate]创建模板

c++
  •  0
  • fatdragon  · 技术社区  · 4 年前

    以下代码不编译。是否有不同的语法来实现这一点?

    template <typename T>
    struct A {};
    
    template <typename T>
    struct B {};
    
    template <typename S, typename T>
    struct C : S<T> {};  // unknown template name 'S'
    
    int main() {
      A<int> a;
      B<int> b;
      C<A,int> c; // Use of class template 'A' requires template arguments
    }
    
    1 回复  |  直到 4 年前
        1
  •  2
  •   jwezorek    4 年前

    template <typename T>
    struct A {};
    
    template <typename T>
    struct B {};
    
    template <template<typename> typename S, typename T>
    struct C : S<T> {};  
    
    int main() {
        A<int> a;
        B<int> b;
        C<A, int> c; // Use of class template 'A' requires template arguments
    }