Как получить набор структур в C ++

У меня есть структура с уникальным ключом. Я хочу вставить экземпляры этих структур в набор. Я знаю, что для этого оператор <должен быть перегружен, чтобы set мог произвести сравнение для выполнения вставки.

Следующее не работает:

#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);
}
14
задан node ninja 28 April 2011 в 09:53
поделиться