标题中的问题是,我已经尝试了这个,因为我过去使用它但现在不起作用:
for (list<string>::iterator it = list1.begin(); it != list1.end(); it++){
cout << *it;
}
错误如下:
“no operator”&lt;&lt;“匹配这些操作数 操作数类型是:std :: ostream&lt;&lt; std :: string“
我没有使用c ++ 2年,现在我被困在这里,使用谷歌但没有找到任何好的答案。
提前感谢您的回答!
答案 0 :(得分:2)
您忘记添加标题,很可能是<string>
(或者更不可能是<iostream>
或<list>
。所有这三个都是必需的,您可能不依赖任何标准库头,包括另一个。
答案 1 :(得分:1)
operator<<
实际上找不到std::string
的{{1}}重载,但在<iostream>
中找不到。该标准不限制库实现包含任意头,因此大多数实现将在链的某处包含<string>
。如果您没有,则需要手动添加<string>
。