У меня есть структура, которая имеет уникальный ключ. Я хочу вставить экземпляры этих структур в набор. Я знаю, что для этого < оператор должен быть перегружен, чтобы набор мог провести сравнение, чтобы выполнить вставку.
Не работает следующее:
#include <iostream>
#include <set>
using namespace std;
struct foo
{
int key;
};
bool operator<(const foo& lhs, const foo& rhs)
{
return lhs.key < rhs.key;
}
set<foo> bar;
int main()
{
foo *test = new foo;
test->key = 0;
bar.insert(test);
}