在 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
这里使用右值是非法的?