[英]Using a templated node struct pointer inside a non templated struct in C++
我在 C++ 中使用堆栈和列表。
我有这个堆栈的模板化节点
template <typename TS>
struct spNodoPila {
TS info;
spNodoPila<TS>* next;
};
我想在列表的另一个节点结构中插入一个指针(不是模板化的),因为我需要链接到列表节点的堆栈:
struct spNodoLista {
sInfoLista info;
spNodoPila* cand;
spNodoLista* prev;
spNodoLista* next;
spNodoVotos* vlink;
};
问题是“spNodoPila* cand;” 行给了我错误“模板类的参数列表丢失”,我不知道为什么。 感谢您的帮助。
错误消息“模板类的参数列表丢失”告诉您错误是什么。
template <typename TS>
struct spNodoPila {
你声明了这个模板。 这个模板接受一个参数,一个参数。 它被称为TS
,在这里。 要实例化模板,您必须指定参数是什么, TS
应该是什么。 例如,如果你希望有一个带有 `int 的模板实例,你可以这样写:
spNodePila<int> something;
或者可能
spNodePila<int> *pointer;
但是在您的代码中,您有:
spNodoPila* cand;
您使用了此模板的名称,但未能指定模板参数,即它的参数。 C++ 不能以这种方式工作。 要创建模板的实例,您必须始终指定模板参数或参数是什么,而这正是错误消息所说的内容。
从您的代码示例中不清楚您在这里的意图是什么,但是您需要弄清楚您需要在此处提供什么模板参数,然后指定它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.