链表指针错误没有意义
Linked List pointer error makes no sense
我已经创建了一个ListNode
类:
ListNode::ListNode()
{
value = 0;
next = NULL;
previous = NULL:
}
所以我有这个函数应该返回头部后面的节点:
ListItr List::first()
{
ListItr* first = new ListItr(head->next);
return first;
}
我将参数head->next
传递给这个函数:
ListItr::ListItr(ListNode* theNode)
{
current = theNode;
}
当我尝试编译我的代码时,我得到一个错误,说no viable conversion from 'ListItr *' to 'ListItr'
错误下面的注释说:
`candidate constructor (the implicit copy constructor) not viable: no know conversion from 'ListItr *' to 'const ListItr &' for 1st argument; dereference the argument with *
我不明白我的代码感觉出了什么问题,函数期望传递一个点,这就是我传递的。
您不必调用new
来创建所有,这不是Java。只有在想要创建指向动态分配对象的指针时才使用new。这里你只是试图创建并返回一个普通对象,而不是一个动态创建的对象。
ListItr List::first()
{
ListItr* first = new ListItr(head->next);
return first;
}
应该ListItr List::first()
{
return ListItr(head->next);
}
相关文章:
- 0-1背包代码中的错误.我的代码中有什么错误
- 在C++中,使用带有 std::optional 参数的函数<T>来表示可选参数是否有意义?
- C++无法解决我的问题。我有控制台错误
- API 返回智能指针的 std::optional 以明确指定指针可能为 null 是否有意义?
- 从头开始为应用程序创建 docker 映像是否有意义?
- 处理程序的模块列表中有一个错误的模块"WebSocketModule"
- 试图避免在 for 循环中出现 if-else 语句,但代码似乎有一些错误
- 我如何在一个 if 语句中声明所有数字我尝试通过其他方式声明所有数字,如果一个接一个,但似乎代码有逻辑错误
- 为什么我在对向量的第二个元素"push_back"中有C3867错误
- 在c++中,如果首先禁止默认构造,那么禁止复制构造有意义吗
- sizeof(函数)有意义吗?
- 二进制模式 + 格式化文本操作或文本模式 + 二进制数据操作 - 有意义吗?
- 当有 icqdesktop 错误时如何编辑制作文件 (制作: *** [所有] 错误 2) Ubuntu 18.04 6
- 插入向量时,使用lambda的返回而不是函数的返回是否有意义?
- 在 C++17 中使用 const std::string& 参数有意义吗?
- YAML-CPP 节点诊断有意义的错误
- 从C++函数返回有意义的错误-最佳实践
- Bada IDE有代码完成和有意义的错误消息吗?
- 用GDB中更有意义的错误描述替换SIGABRT
- 它是 LCOV 的错误还是对一个函数中的不同命中计数有意义