1
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()

どうしたの?どうすれば修正できますか?

4

2 に答える 2