c++ - 在C++中的非模板结构内使用模板节点结构指针

标签 c++ list templates struct stack

我在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++无法以这种方式工作。要创建模板的实例,您必须始终指定模板参数或参数是什么,而这正是错误消息所说的。
从您的代码示例中尚不清楚您的意图是什么,但是您需要弄清楚需要在此处提供的模板参数,然后指定它。

关于c++ - 在C++中的非模板结构内使用模板节点结构指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64795885/

相关文章:

c++ - 跨类共享配置对象的最佳方式是什么?

python - 为什么 range 不返回数组,但是当我将它添加到列表时返回数组?

list - Haskell 列表对到列表对

ios - 在列表中找到 X 和 Y 的 4 个最接近的位置

c++ - 模板模板时强制特定重载

node.js - 从字符串渲染哈巴狗模板?

c++ - 如何创建std::ofstream的 vector 并将流写入不同的文本文件

c++ - 使用线程停止一个 Action

c++ - 如果 throw 会发生什么;语句在 catch block 之外执行?

javascript - 转义 Dust.js 标签