「p」を参照にもポインタにもできない…なぜー?
#include <iostream> #include <string> #include <map> #include <algorithm> using namespace std; void handle(pair<string, string> p) { cout << p.first << ":" << p.second << endl; } int main() { map<string, string> m; m.insert(make_pair("foo", "FOO")); m.insert(make_pair("bar", "BAR")); m.insert(make_pair("zoo", "ZOO")); for_each(m.begin(), m.end(), handle); return 0; }
追記
↓はOKだった。なんでだろう…
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; void handle(string &s) { cout << s << endl; } int main() { vector<string> v; v.push_back("foo"); v.push_back("bar"); v.push_back("zoo"); for_each(v.begin(), v.end(), handle); return 0; }