【发布时间】:2016-09-29 12:14:27
【问题描述】:
给定 Visual Studio 中的 string foo,我可以通过以下方式将单词分解为 vector:
vector fooVec{ istream_iterator<string>(istringstream(foo)), istream_iterator<string>() };
但这不会在 gcc 5.1 中编译。我得到了错误:
从
std::basic_istream<char>类型的右值初始化std::istream_iterator<std::basic_string<char> >::istream_type&{akastd::basic_istream<char>&} 类型的非常量引用无效
现在我知道 gcc 有 a bug 由我们自己的 Jonathan Wakely 修复。这是该错误的扩展还是我在这里使用右值istringstream 是否非法?
【问题讨论】:
标签: c++ visual-studio istringstream istream-iterator gcc5