#include <algorithm>
#include <bitset>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
using namespace std;
bool fun(int i, int j){
return abs(i - j) != -1;
}
int main(){
vector <int> v = { 1, 2, 3, 4, 5 };
sort(v.begin(), v.end(), fun);
for (int i = 0; i < v.size(); i++)
cout << v[i] << " ";
cout << endl;
return 0;
}
Когда я использую «fun» компаратора, программы вызывают исключение «недействительный оператор <». Как изменить эту функцию, чтобы программа работала нормально?sort C++ - «недействительный оператор»
Могу ли я спросить, почему вы включаете все эти файлы, когда вам нужно не более 4 из них? – Borgleader
@Mahmoud Arafa Это условие abs (i-j)! = -1 всегда равно истинному независимо от сравниваемых значений. :) –
@Borgleader Просто у него не было времени, чтобы включить все заголовки C++. :) –