嵌套 class C++ 的正确模板
Correct template for nested class C++
我想不出为嵌套 class 编写正确模板的正确语法。我想做这样的事情
template <typename T>
class list {
private:
class node {
public:
T value;
node();
~node();
};
public:
node<T> *H;
list();
~list();
};
我想要一个 class 来表示外部 class 的每个元素,所以我想要将内部 class 隐藏在外部。这可能吗?或者我应该使用不同的方法?
您不需要为内部 class 指定模板参数(因为它没有声明为模板 class):
template <typename T>
class list {
private:
class node {
public:
T value;
node();
~node();
};
public:
node *H; // <<<<<<
list();
~list();
};
最终我要找的是这个。
template <typename T>
class list {
private:
template <typename U>
class node {
public:
U value;
node();
~node();
};
public:
node<T> *H;
list();
~list();
};
我想不出为嵌套 class 编写正确模板的正确语法。我想做这样的事情
template <typename T>
class list {
private:
class node {
public:
T value;
node();
~node();
};
public:
node<T> *H;
list();
~list();
};
我想要一个 class 来表示外部 class 的每个元素,所以我想要将内部 class 隐藏在外部。这可能吗?或者我应该使用不同的方法?
您不需要为内部 class 指定模板参数(因为它没有声明为模板 class):
template <typename T>
class list {
private:
class node {
public:
T value;
node();
~node();
};
public:
node *H; // <<<<<<
list();
~list();
};
最终我要找的是这个。
template <typename T>
class list {
private:
template <typename U>
class node {
public:
U value;
node();
~node();
};
public:
node<T> *H;
list();
~list();
};