【发布时间】:2019-08-30 02:25:22
【问题描述】:
编译错误
/usr/include/c++/7/bits/stream_iterator.h:199:13: 错误:不匹配 ‘operator>::ostream_type {aka std::basic_ostream}' 和 'const std::pair >')
我没能解决这个问题。 我尝试以多种方式修复这段代码,改变 map和pair中的配对方式
pair<int, string >
pair<int, string &>
pair<int, char *>
错误打印很复杂 [对我来说] 难以消化
#include <iostream>
#include <iterator>
#include <string>
#include <map>
using namespace std;
int main(int argc, char **argv[])
{
map<int, string> science {{101,"physics"},{102,"chemistry"}};
auto itrt = ostream_iterator<pair<int, string > >(cout, ",");
copy(science.begin(), science.end(),itrt);
return 1;
}
预期结果:- 101 物理,102 化学,
【问题讨论】:
-
我怀疑你得到的不仅仅是一个错误。这是使用 STL 的副作用(意大利面条错误消息喷出......起初可能有点难以确定......它会变得更好)
标签: c++