【发布时间】:2014-07-03 13:21:18
【问题描述】:
我有一堂课(摘录):
class Package
{
private:
string s_package_name;
float f_boottime;
float f_bytesize;
list <Package> l_depends;
list <Package> l_selects;
}
我想生成许多对象并将它们列在一个唯一的“数组”中,因此我采用了set 我添加了这样的对象:
set<Package> l_tempSet;
Package PackageA(1, 11, "what a package");
Package PackageB(2, 22, "what a 2nd package");
l_tempSet.insert(PackageA);
l_tempSet.insert(PackageB);
编译时收到错误消息:
不匹配 »operator
当单击错误消息时,它会将 set.h 指向调用 unique 的行,我认为这是错误。
C++ 确实不能将对象(如本例中的)“唯一”放入列表和集合中,并且只能处理简单的数据类型,如 int、float 等吗?还是我哪里出错了,请帮帮我,我不确定错误到底在哪里。
感谢您的支持
【问题讨论】:
-
为您的班级实施运算符
-
你能解释一下吗? (你有任何搜索标签可以谷歌搜索吗?)
-
我在答案中为每个解决方案添加了参考。
-
如果您的问题得到了回答,您应该确保将答案标记为已接受,以备将来参考。
-
我怀疑您不想像尝试那样添加对象的副本。请记住,C++ 对所有事物都有 value 语义。