C++关于模版 队列的问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 06:27:32
template<chass T>
struct queueNode{
T nodeData;
queueNode *next;
}
学到模版时,有这样一个例子,上边定义一个队列,不明白
queueNode *next;是怎么定义的,queueNode 怎么与结构体名相同,不是不能这么定义吗。高手指点,谢谢

前面已经出现过queueNode的名字了 所以可以定义这个类型的指针或者引用,但是不能定义对象,比如:
struct queueNode{
T nodeData;
queueNode *next;
queueNode child;
}
这种语法就是错误的会造成无限循环定义。
以上这些是语言本身允许的语法,跟模板无关