C++ 创建子类变量的语法 模板 类堆栈 { 私人: 模板 班级名单 { 公众: 类节点 { 公众: L数据; 节点*下一步; }; 节点*头; }; 名单; 公众: };
我想在Stack类中创建一个class Node变量,我正在使用这种语法C++ 创建子类变量的语法 模板 类堆栈 { 私人: 模板 班级名单 { 公众: 类节点 { 公众: L数据; 节点*下一步; }; 节点*头; }; 名单; 公众: };,c++,oop,C++,Oop,我想在Stack类中创建一个class Node变量,我正在使用这种语法 List::节点版本; 但VisualStudio将其视为语法错误。请帮帮我,就像@songyuanyao说的那样试试看 typename列表::节点版本 要在堆栈类中创建类节点的变量,如@songyuanyao所说,请尝试 typename列表::节点版本 要在堆栈类中创建类节点的变量,请尝试typename List::Node version。谢谢,它工作了,但它在这里有什么用#Songyuan可能重复,因为Lis
List::节点版本;
但VisualStudio将其视为语法错误。请帮帮我,就像@songyuanyao说的那样试试看
typename列表::节点版本代码>
要在堆栈类中创建类节点的变量,如@songyuanyao所说,请尝试
typename列表::节点版本代码>
要在堆栈类中创建类节点的变量,请尝试typename List::Node version代码>。谢谢,它工作了,但它在这里有什么用#Songyuan可能重复,因为List::Node
依赖于模板参数T
,标准规定我们必须使用typename
告诉编译器List::Node
是类型的名称(而不是像成员名称这样的其他东西)。有关详细信息,请参阅@NickyC发布的链接。请尝试typename List::Node version代码>。谢谢,它工作了,但它在这里有什么用#Songyuan可能重复,因为List::Node
依赖于模板参数T
,标准规定我们必须使用typename
告诉编译器List::Node
是类型的名称(而不是像成员名称这样的其他东西)。有关详细信息,请参阅@NickyC发布的链接。
template <class T>
class Stack
{
private:
template <class L>
class List
{
public:
class Node
{
public:
L data;
Node* next;
};
Node* head;
};
List<T> list;
public:
};
List<T>::Node version;