VC10 で VC6 プロジェクトをコンパイルしようとしています... set_intersection でエラー C2678 が表示されます: 理解するためにいくつかの例を書きました。このスニペットをコンパイルする方法を説明できる人はいますか?
#include <vector>
#include <algorithm>
#include <iostream>
#include <set>
#include <string>
int main( )
{
using namespace std;
typedef set<string> MyType;
MyType in1, in2, out;
MyType::iterator out_iter(out.begin());
set_intersection(in1.begin(),in1.end(), in2.begin(), in2.end(), out_iter);
}
出力 :
c:\program files\microsoft visual\studio 10.0\vc\include\algorithm(4494): エラー C2678: '=' バイナリ: タイプ 'const std::basic_string<_Elem の左側のオペランドを取る演算子が定義されていません。 _Traits,_Ax>' (または受け入れ可能な変換がない)
std::vector
代わりにa を使用するとstd::set
、コンパイルは成功しました。許容できる)