gpt4 book ai didi

c++ - 在 C++ 中为用户定义的对象使用优先级时遇到问题

转载 作者:行者123 更新时间:2023-11-28 08:14:26 25 4
gpt4 key购买 nike

所以我需要为我的学校作业编写霍夫曼压缩/解压缩,但我在使用优先级队列存储频率时遇到了问题。

让我头疼的两个文件是 HCNode.hppmain.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]’
compress.cpp:134:59: instantiated from here

大多数错误似乎是与库的某种冲突造成的。

没关系,修复了问题,老师的代码不完整。感谢那些看过这篇文章的人。

最佳答案

您发布的错误消息不是确切的错误消息,而是导致实际错误的实例化行。

我认为最有可能导致错误的是因为比较器(在本例中为 operator<)不是 const 成员函数。

检查它是否是 const 成员函数。

关于c++ - 在 C++ 中为用户定义的对象使用优先级时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com