所以我有一个节点类:
template <typename Type>
class NodeType
{
public:
Type m_data;
NodeType<Type> *mp_next;
// note data goes uninitialized for default constructor
// concept being Type's constructor would auto-init it for us
NodeType() { mp_next = NULL; }
NodeType(Type data) {m_data = data; mp_next = NULL;}
};
我正在尝试制作一个像这样的新节点:
NodeType<int> n1 = new NodeType<int>(5);
编译器告诉我:
SLTester.cpp:73:40: error: invalid conversion from ‘NodeType<int>*’ to ‘int’ [-fpermissive]
SingList.h:29:2: error: initializing argument 1 of ‘NodeType<Type>::NodeType(Type) [with Type = int]’ [-fpermissive]
谁能帮我弄清楚为什么会这样和/或我实际上应该做什么?
最佳答案
通过定义NodeType<int> n1
,n1
不是指针类型,
更新:
NodeType<int> n1 = new NodeType<int>(5);
至:
NodeType<int> n1{5};
要么
NodeType<int> n1(5);
关于c++ - 错误: invalid conversion from,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20013260/