相关疑难解决方法(0)

运算符重载的基本规则和习惯用法是什么?

注意:答案是按照特定的顺序给出的,但由于许多用户根据投票而不是给出的时间对答案进行排序,因此这里是答案索引,它们是最有意义的顺序:

(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)

c++ operator-overloading operators c++-faq

2074
推荐指数
8
解决办法
88万
查看次数

std::set 错误:与 »operator<« 不匹配

我有一堂课(摘录):

\n\n
class Package\n{\nprivate:\n        string s_package_name;\n        float f_boottime;\n        float f_bytesize;\n        list <Package> l_depends;\n        list <Package> l_selects;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想生成许多对象并将它们列出在一个唯一的“数组”中,因此我添加了set如下对象:

\n\n
set<Package> l_tempSet;   \nPackage PackageA(1, 11, "what a package");\nPackage PackageB(2, 22, "what a 2nd package");\n\nl_tempSet.insert(PackageA);\nl_tempSet.insert(PackageB);\n
Run Code Online (Sandbox Code Playgroud)\n\n

编译时我收到一条错误消息:

\n\n
\n

与 \xc2\xbboperator<\xc2\xab 不匹配(操作数类型为 \xc2\xbbconst Package\xc2\xab 和 \xc2\xbbconst\n Package\xc2\xab)

\n
\n\n

当单击错误消息时,它会将我指向 set.h 到unique调用的行,我认为这就是错误。

\n\n

C++ 是否真的无法将“唯一”对象(如本示例中所示)放入列表和集合中,并且只能处理简单的数据类型(如 int、float 等)?或者我在某个地方出错了,请帮助我,我不确定错误到底在哪里。

\n\n

感谢您的支持

\n

c++ set c++11

2
推荐指数
1
解决办法
2342
查看次数

标签 统计

c++ ×2

c++-faq ×1

c++11 ×1

operator-overloading ×1

operators ×1

set ×1