我正在尝试使用 ostream_iterator 将成对的向量写入文件。ostream_iterator 需要在声明时应用模板参数。向量定义为-
vector<pair<string,long>> test;
当我将 pair 作为模板传递给 ostream_iterator 时,它显示错误 -
错误 1 错误 C2679: 二进制 '<<' : 未找到采用 'const std::pair<_Ty1,_Ty2>' 类型的右侧操作数的运算符(或没有可接受的转换) C:\Program Files (x86 )\Microsoft Visual Studio 10.0\VC\include\iterator 531 1 词分段
在这种情况下,正确的论点可能是什么?
编辑 - 代码片段
vector<pair<string,long>> t;
......
//t is filled up with elements
ostream_iterator<pair<string,long>> output_iterator(out, "\n");
std::copy(t.begin(), t.end(), output_iterator);