никакое соответствие для 'оператора <' при попытке вставить в набор (C++)?

Я использую gcc 4.3.3, чтобы попытаться скомпилировать следующий код:

struct testStruct {  
int x;  
int y;  
bool operator<(testStruct &other) { return x < other.x; }  
testStruct(int x_, int y_) {  
    x = x_;  
    y = y_;  
}  
};  


int main() {
multiset<testStruct> setti;  
setti.insert(testStruct(10,10));  
return 0;  
}

Я получаю эту ошибку:
/usr/include/c ++/4.4/bits/stl_function.h|230|error: никакое соответствие для ‘оператора <’ в ‘__ x <__ y’
Я подозреваю, что не делаю оператора, перегружающегося, поскольку он должен быть сделан, но я просто не могу точно определить точную проблему. Что я делаю неправильно здесь?

9
задан tsiki 9 July 2010 в 16:20
поделиться