C++ vector<pair<int,int>> std::all_of() 函数问题(重定向到头文件)

C++ vector<pair<int,int>> std::all_of() function problem (redirects to header file)

本文关键字:gt int lt 问题 函数 重定向 文件 vector C++ std all      更新时间:2023-10-16

我想检查向量内的每对是否"完全均匀"。

"完全偶数"对是第一和第二元素都是偶数的一对。

如果向量中的每个对都是"完全均匀的",则程序应打印"是"。

所以,这是我的代码:

#include <iostream>
#include <bits/stdc++.h>
#include <algorithm>
#include <vector>
using namespace std;
bool func(auto ip) {
if(ip.first%2==0 and ip.second%2==0) {
    return true;
}
else {
    return false;
}
}
int main() {
vector<pair<int, int>> vec;
vec.push_back(make_pair(2,2));
vec.push_back(make_pair(2,3));
vec.push_back(make_pair(4,1));
vec.push_back(make_pair(8,3));
vec.push_back(make_pair(7,9));
if(all_of(vec.begin(),vec.end(), [] (auto i) {func(i);}) {
    cout<<"YES"<<endl;
}
return 0;
}

"错误:void 值没有被忽略,因为它应该是"是我在运行这个程序时得到的。

所以,必须使用任何帮助?和函数"func",而不是"返回i.first%2==0和i.second%2==0"。

在等待答案时,我找到了错误所在:

在行中:if(all_of(vec.begin((,vec.end((, [] (auto i( {func(i(;}(({

我需要说:

if(all_of(vec.begin((,vec.end((, [] (auto i( {RETURN func(i(;}((

就是这样,:)