vector<vector<int>> input{ { { 1, 2 },{ 3, 4 } } };
auto result = input | boost::adaptors::transformed([](const auto& _) {return _; });
result.begin()->begin() == result.begin()->end();
これを VS2015 で実行すると_ITERATOR_DEBUG_LEVEL=2
、次のエラーが発生します_Compat(const _Myiter& _Right)
。
_DEBUG_ERROR("vector iterators incompatible");
フラット化反復子は でこの比較を使用するため、これは重要ですadvance_past_empty_inner_containers()
。
どうしたの?どうすれば修正できますか?