双链接列表:编译类错误
Double Linked List: compile class error
我有问题。我使用模板在C 中编写了一个简短的列表程序。(根据MCVE,我写了重现错误的代码的一部分)
#include <iostream>
using namespace std;
template <typename H> class Node{
protected:
H *value;
Node<H> *next, *prev;
public:
Node(H *value) {
this->value = NULL;
if (value)
this->value = new H(*value);
next = prev = NULL;
}
Node(H value, Node<H> *next) {
this->value = NULL;
if (value)
this->value = new H(*value);
this->next = next;
prev = NULL;
}
void setPrev(Node<H> *prev) {
this->prev = prev;
}
}
template <typename H>class DoubleLinkedList {
private:
Node<H> *head, *last;
public:
DoubleLinkedList() {
last = new Node<H>(NULL);
head = new Node<H>(NULL, last);
last->setPrev(head);
}
};
int main() {
DoubleLinkedList<int> *list = new DoubleLinkedList<int>();
return 0;
}
但是,当我尝试编译它时,我会收到一个编译类模板错误,标记了DoubleLinkedlist类的构造方法的行。
我在哪里错了?
谢谢
当我使用您当前的代码并将节点(h值,Next)更改为节点(H *value,Next Next)时,代码编译并可能正确运行(尚未对其进行测试)。示例:ideone.com/iag5wx - user4581301
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- std::is_base_of表示ctor编译错误
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- Qt Cmake 错误编译"GuiSupportQt not found"
- Opengl 精度转换错误编译错误 E0415
- 库将ARM架构错误编译为架构X64
- RT 音频 Mac 错误 g++ 编译错误
- 错误编译Boost.log
- 错误编译QT创建者 / QT窗口小部件示例
- 错误编译MIPS32
- Visual Studio 2013 中的错误(编译和运行代码)
- 链接错误编译qt项目在visual 2010
- 无法用模板错误编译nsgmls
- 奇怪的错误.编译失败
- 如果有人调用c++中的方法,则强制错误(编译时)
- 来自autoconf测试的错误编译命令
- 时间限制超出错误C++编译
- SFML 2.3 和 CodeBlocks 错误编译