在c++中使用用户定义对象的优先级时遇到问题
Trouble using priority for user defined objects in c++
所以我需要为我的学校作业写霍夫曼压缩/解压缩,我在使用优先级队列来存储频率时遇到了麻烦。
让我头疼的两个文件是HCNode.hpp
和main.cpp
。在HCNode.hpp
文件中,当我尝试初始化这样的优先级队列时,我已经重载了bool operator<(const HCNode& other)
和main.cpp
:
priority_queue< HCNode, vector < HCNode >, less< HCNode> > freq;
编译器抛出一堆错误
编辑:这是其中一个错误
/usr/include/c++/4.6/bits/stl_queue.h:391:9: instantiated from ' std::priority_queue<_Tp, _Sequence, _Compare>::priority_queue(const _Compare&, const _Sequence&) [with _Tp = HCNode, _Sequence = std::vector, _Compare = std::less] '
大多数错误似乎是由于与标准库的某种冲突。
没关系,修复了问题,老师的代码不完整。谢谢那些看过这篇文章的人。
您发布的错误消息不是确切的错误消息,而是导致实际错误的实例化行。
我认为最可能导致错误的是比较器,也就是operator<</p> 不是const成员函数。
检查是否为const成员函数
相关文章:
- 编译包含字符串的代码时遇到问题
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 按对象的特定方法按升序排列的C++优先级队列
- 使用2个键的cpp-stl::优先级队列排序不正确
- 遇到新行时,有没有办法停止istream_iterator
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 在 for 循环中查找问题时遇到困难
- 创建结构的数组时遇到分段错误
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- 为什么我遇到分段错误?
- 打印优先级队列
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- 带自定义比较器的最小优先级队列
- 优先级队列自定义比较器
- 为什么我在尝试模板时遇到视觉工作室C++错误
- 在c++中使用用户定义对象的优先级时遇到问题
- C++ 我在设置我创建的类的优先级队列时遇到问题