Я просто объявил структуру, как это -Можно ли сравнить 2 структуры в C++?
struct data{
int x,y;
};
Теперь я объявивший 2 переменных a
& b
из data
типа. Я присвоил им соответствующие значения. Теперь я хочу проверить, равны ли они! Я пытаюсь сделать так -
data a,b;
a.x=12, a.y=24;
b.x=15, b.y=30;
if(a!=b)cout<<"a~b"<<endl;
Но компилятор дает мне следующую ошибку на 4th
линии ->
error: no match for 'operator!=' (operand types are 'data' and 'data')
Где проблема на самом деле? Разве это сравнение не поддерживается в C++? Или я ошибаюсь?
Что такое точный и простой способ сделать это? Нужно ли сравнивать каждый элемент в структуре отдельно? Или есть какой-то другой более умный способ?
Выберите один язык. C ** или ** C++. – juanchopanza
Вы должны реализовать 'bool operator! = (Const data &, const data &);'. – Jarod42
Возможный дубликат оператора [No ==, найденного при сравнении структур в C++] (http://stackoverflow.com/questions/5740310/no-operator-found-while-comparing-structs-in-c) – bereal