正确嵌套类C ++的模板

时间:2017-08-29 12:53:31

标签: c++ class templates inner-classes

我无法弄清楚为嵌套类编写正确模板的正确语法。我想做这样的事情

template <typename T>
class list {
private:
    class node {
    public:
        T value;
        node();
        ~node();
    };

public:
    node<T> *H;
    list();
    ~list();
};

我希望有一个类来表示外部类的每个元素,所以我希望将内部类隐藏在外部类中。这可能吗?或者我应该使用不同的方法吗?

2 个答案:

答案 0 :(得分:9)

您不需要为内部类指定模板参数(因为它未被声明为模板类):

i.Item_B

答案 1 :(得分:1)

最终我要找的是这个。

template <typename T>
class list {
private:
    template <typename U>
    class node {
    public:
        U value;
        node();
        ~node();
    };

public:
    node<T> *H;
    list();
    ~list();
};