【发布时间】:2015-04-13 13:42:40
【问题描述】:
#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' 时,程序会抛出异常'invalid operator
【问题讨论】:
-
我可以问一下,为什么您在最多需要 4 个文件时包含所有这些文件?
-
@Mahmoud Arafa 这个条件 abs(i - j) != -1 始终等于 true,与比较值无关。:)
-
@Borgleader 只是他没有时间包含所有 C++ 头文件。:)
-
如果你认为每个数字都小于每个数字,你期望得到什么结果?