我想将与谓词(等于整数)匹配的值从a复制map<string,int>到a vector<int>.
这是我试过的:
#include <map>
#include <vector>
#include <algorithm>
int main()
{
std::vector< int > v;
std::map< std::string, int > m;
m[ "1" ] = 1;
m[ "2" ] = 2;
m[ "3" ] = 3;
m[ "4" ] = 4;
m[ "5" ] = 5;
std::copy_if( m.begin(), m.end(), v.begin(),
[] ( const std::pair< std::string,int > &it )
{
return ( 0 == ( it.second % 2 ) );
}
);
}
Run Code Online (Sandbox Code Playgroud)
来自g ++ 4.6.1的错误消息是:
error: cannot …Run Code Online (Sandbox Code Playgroud)