小编Rob*_*bin的帖子

在 C++ 中使用模板类的嵌套类作为模板模板参数

在 C++ 中,我想在模板化类中使用嵌套类作为模板模板参数。对于非嵌套类,模式是:

template<class T>
class A {
public:
    T a;
    // ...
};

template<class T, template<class ST> class S>
class B {
public:
    S<T> b;
    // ...
};

B<int, A> b;
Run Code Online (Sandbox Code Playgroud)

现在,我想一个嵌套类添加A和使用嵌套类为模板,模板参数S类的B,就像这样:

template<class T>
class A {
public:
    class AA {
    public:
        T aa;
        // ...
    };
    // ...
};

template<class T, template<class ST> class S>
class B {
public:
    S<T> b;
    // ...
};

B<int, A> b1;          // ok
B<int, A::AA> b2; …
Run Code Online (Sandbox Code Playgroud)

c++ templates inner-classes template-templates

5
推荐指数
2
解决办法
1958
查看次数