【发布时间】:2018-12-06 02:35:02
【问题描述】:
此 range-v3 示例无法使用 Visual C++ 15.9 版进行编译:
auto letters = ranges::view::iota('a','g');
std::ostringstream out;
out << letters;
这是设计使然吗?将范围输出到ostringstream的方法是什么?
【问题讨论】:
此 range-v3 示例无法使用 Visual C++ 15.9 版进行编译:
auto letters = ranges::view::iota('a','g');
std::ostringstream out;
out << letters;
这是设计使然吗?将范围输出到ostringstream的方法是什么?
【问题讨论】:
这个程序:
#include <iostream>
#include <sstream>
#include <range/v3/view/iota.hpp>
int main() {
auto letters = ranges::view::iota('a','g');
std::ostringstream out;
out << letters;
std::cout << out.str();
}
适用于我的 VS 2017 15.9.3 和由 vcpkg 安装的 range-v3。它输出[a,b,c,d,e,f]。
【讨论】:
error C2440: 'return': cannot convert from 'std::basic_ostream<char,std::char_traits<char>>' to 'Stream &'