【发布时间】:2014-06-26 15:10:11
【问题描述】:
我想创建一个包含我的类的对象的集合,我必须确定一个自定义比较。不幸的是,我尝试的所有方法都不起作用。
class My_Class {
public:
char letter;
set<My_Class, compare> Children;
};
Ant 然后是比较结构体:
struct compare {
bool operator() (const My_Class& a, const My_Class& b) const{
return a.letter < b.letter;
}
};
请问我怎样才能完成这项工作?
目前,问题显示标识符 a 和 b 未声明。
【问题讨论】:
-
你能解释一下“没有工作”吗?
-
看起来您可能在
compare的文件中缺少 MyClass.h(或其他)。此外,您可能应该让operator()获取const My_Class&而不是复制。 -
@dlf 不可能,因为
compare和My_Class在同一个文件中。我尝试使用My_Class&,但遇到了同样的问题。 -
那么
compare是否高于My_Class? -
I would like to create a set containing the objects of my class为什么让set成为 My_Class 的成员?
标签: c++ char set compare stdset