0
次のコードがあります。このコードは、questionから取得したマップを反転しています。コンパイラは、 'int'型が 'flip_pair < int、double >'という引数で予期しないコード行の最後の行にエラーを返します。私はこれについて混乱しています - 型はflip_pair関数にとって正しいと思われるので、より根本的な何かを欠いている必要があるように感じます。何かアドバイスありがとうございます。変換を使用してマップを反転すると、 "予期しないタイプの入力"
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
#include <iterator>
std::pair<double,int> flip_pair(const std::pair<int, double> &p){
return std::pair<double,int>(p.second,p.first);
}
int main(){
std::map<int, double> s;
s[1] = 5.5; s[2] = 3.2;
std::multimap<double,int> dst;
std::transform(s.begin(), s.end(),
std::inserter(dst, dst.begin()),flip_pair<int, double>);
}
を!私は[std :: transform](http://www.cplusplus.com/reference/algorithm/transform/)のこのリソースからそれを覚えていたはずですが、私はそれを逃しました。ありがとうございました!! – wobertson