在 Visual Studio 中给定 astring foo我可以通过执行以下操作将单词分解为 a vector:
vector fooVec{ istream_iterator<string>(istringstream(foo)), istream_iterator<string>() };
但这不会在 gcc 5.1 中编译。我得到错误:
从类型的右值对类型
std::istream_iterator<std::basic_string<char> >::istream_type&{aka }的非常量引用的无效初始化std::basic_istream<char>&std::basic_istream<char>
现在我知道 gcc 有一个由我们自己的Jonathan Wakely修复的错误。这是该错误的扩展还是我在istringstream这里使用右值是非法的?