- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试创建一个双向链表,但出现此错误:
error C2440: '=' : cannot convert from 'ListNode<T> *' to 'ListNode<T> *'
我真的不知道为什么。有人可以帮助我吗?
template <class T>
class ListNode
{
private:
//Données membres
T m_Value;
ListNode<T> *m_Next;
ListNode<T> *m_Prev;
public:
//Constructeur
ListNode()
{
m_Value = NULL;
m_Next = NULL;
m_Prev = NULL;
}
ListNode<T>(T _Value)
{
m_Value = _Value;
m_Next = NULL;
m_Prev = NULL;
}
//Accesseurs
T getValue() const
{ return m_Value; }
void setValue(T _Value)
{ m_Value = _Value; }
ListNode<T>* getNext() const
{ return m_Next; }
void setNext(ListNode *_NextNode)
{ m_Next = _NextNode; }
ListNode<T>* getPrev() const
{ return m_Prev; }
void setPrev(ListNode *_PrevNode)
{ m_Prev = _PrevNode; }
};
template <class T>
class List
{
private:
//Données membres
int m_Compte;
ListNode<T> *m_Current;
ListNode<T> *m_Head;
ListNode<T> *m_Last;
...
这里是导致错误的函数
template <class T>
void operator+=(T _newValue)
{
Where the error is
这条线路有问题。我正在尝试创建一个新节点并影响当前节点,该节点是指向 ListNode 的指针
m_Current = new ListNode<T>(_newValue);
if (!m_Head)
{
m_Head = m_Current;
}
else
{
m_Last->setNext(m_Current);
m_Current->setPrev(m_Last);
m_Last = m_Current;
}
++m_Compte;
return;
}
最佳答案
template <class T> // <------ 'T'
class List
{
...
template <class T> // <------- 'T' again ?
void operator+=(T _newValue);
};
似乎,T
对于 List
阴影 T
对于 operator +=
.您可以使用 typename U
对于 operator +=
并试一试。
另外,您确定要为 operator +=
使用新类型吗? ?或者您打算使用与 List<T>
相同的类型吗? .
旁注,operator +=
的典型语法是:
List& operator += (const List ©)
{
...
return *this;
}
关于c++ - 错误 C2440 : '=' : cannot convert from 'ListNode<T> *' to 'ListNode<T> *' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9678120/
我正在制作一个链接列表,我必须为列表添加一些不同的函数,例如 max、min、count 和 index。我现在必须添加一个删除函数,即这段代码。 def removeItem(self, posit
创建简单链表时出错。 错误消息是 cannot convert 'listNode**' to 'listNode*' in assignment。 代码: struct listNode {
我遇到了一些java类型参数的问题。这是代码。我有一个 ListNode 类和一个实现 Comparator 接口(interface)的 MyComparator 类。 class ListNode
这是我在leetcode中遇到的问题。您将看到两个非空链接表,表示两个非负整数。数字以相反的顺序存储,并且它们的每个节点都包含一个数字。将这两个数字相加,然后以链表的形式返回总和。。你可以假设这两个数
我正在尝试创建一个双向链表,但出现此错误: error C2440: '=' : cannot convert from 'ListNode *' to 'ListNode *' 我真的不知道为什么。
我正在回答有关 LeetCode 的问题,但我很难理解如何在 Python 中编写 LinkedList(或 ListNodes)。我理解 LinkedList 的概念,但我仍然无法理解如何将整数列表
我试图解决的问题是 LeetCode 问题,但我被卡住了 https://leetcode.com/problems/add-two-numbers/ 我尝试过以下方法 import java.uti
我有一个类: class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } 打印链表的函
如果 ListNode o1.value > ListNode o2.value,我如何比较两个 ListNode 值返回 1,如果相等则返回 0,如果小于则返回 -1。 我现在有这个比较器,但是有一
我正在编写一个函数,在与 head1 关联的列表中出现变量位置后,输入与 head2 关联的链表。但是,我不断收到核心转储: void mergeLists(ListNode *head1, List
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; cl
我只是想花一点时间感谢 Remy Lebeau 为我编辑了这篇文章。 我的编译器给了我这个错误: main.cpp:93:20: error: invalid conversion from ‘int
大家好,我是 Scala 的新手,想知道如何将一个简单的 ListNode 类从 Java 重写到 Scala。 在 java 中它看起来像下面,我可以创建一个头节点 head = new ListN
第一个函数中的第 8 行: ListNode* prev = &dummy; Have a error: Call object type 'ListNode *' is not a function
我试图解决 https://leetcode.com/problems/add-two-numbers ,这个问题很容易,而由于借用问题我无法在 rust 中完成它。我试了几个 3 小时,我怀疑 Li
下面的方法 insert 使用了 struct listNode 的构造函数。 void list::insert(size_t i){ if (head == nullptr){
我正在尝试使用一个结构作为我的私有(private)成员来实现一个 LinkList 类,但是,当我尝试在 LinkList.ccp 下定义结构 ListNode 时,编译器说指针未定义。错误在高亮的
如何在不使用任何库的情况下按值对节点列表进行排序。 例子: * 输入:3->1->5->4->2 * 输出:1->2->3->4->5 列表节点.java import java.util.List;
试图解决 LeetCode“两个数字相加”。 You are given two non-empty linked lists representing two non-negative intege
试图解决 LeetCode“两个数字相加”。 You are given two non-empty linked lists representing two non-negative intege
我是一名优秀的程序员,十分优秀!