#include <iostream>
#include <string>
#include <unordered_set>
template<class T>
T cmerge (T a, T b) { T t(a); t.insert(b.begin(),b.end()); return t; }
int main ()
{
std::unordered_set<std::string> first; // empty
std::unordered_set<std::string> second ( {"red","green","blue"} ); // init list
std::unordered_set<std::string> third ( {"orange","pink","yellow"} ); // init list
std::unordered_set<std::string> fourth ( second ); // copy
std::unordered_set<std::string> fifth ( cmerge(third,fourth) ); // move
std::unordered_set<std::string> sixth ( fifth.begin(), fifth.end() ); // range
std::cout << "sixth contains:";
for (const std::string& x: sixth) std::cout << " " << x;
std::cout << std::endl;
return 0;
}
このコード セグメント ( http://www.cplusplus.com/reference/unordered_set/unordered_set/unordered_set/からコピー) は、Visual Studio 2012 で正しくコンパイルできません。Visual Studio が unordered_set の初期化をリストできる機能をサポートしているかどうか疑問に思います(またはstlの他のコンテナ)?答えを教えてください、ありがとう!