#include
#include
#include
#include
#include
bool ab(int mem1, int mem2)
{
if (mem1 > mem2)
return true;
else
return false;
}
int main()
{
vector vec;
vec.push_back(7);
for (int i = 0; i < 10; i++)
{
vec.push_back(i);
}
cout<< *max_element(vec.begin(), vec.end(), ab)<<endl;
system("pause");
return 0;
}
為什麼這樣就輸出的是0?難道二元謂詞只能用“<”的?
求解答!!1
不是只能用 < 。
但是它並不知道你的謂詞是啥,所以它會把你給它的任何東西當成 小於 關系來使用。
你在 max_element 裡給了一個 大於 當謂詞,結果就是求出了最小值。