我有以下代码:
class asd {
public:
int b;
asd() { b = rand() % 10; }
bool operator<(asd &other) { return b < other.b; }
};
int main() {
asd * c; c = new asd();
set <asd> uaua;
uaua.insert(c);
}
然而,在运行它时,我得到了这个错误:
main.cpp|36|error: no matching function for call to ‘std::set<asd, std::less<asd>, std::allocator<asd> >::insert(asd*&)’|
我正在使用 g++ 4.4.3
有人可以告诉我哪里出错了吗?我已经尝试破解这个很长一段时间,但似乎无法找到解决方案。谢谢