Обратный метод С++ для поддиапазона, не найденного после фрагментирования списка ⇐ C++
Обратный метод С++ для поддиапазона, не найденного после фрагментирования списка
Я столкнулся со странным поведением: если вы создаете фрагментированное представление списка по 2 элемента, а затем пытаетесь напечатать переднюю и заднюю часть в цикле for с диапазоном, передний метод будет работать, но задний метод не будет. Это приведет к ошибке компилятора, сообщающей, что для создания экземпляра метода .back() требуется двунаправленный итератор. Я что-то упустил?
Код, воспроизводящий ошибку
#include #include #include #include интервал основной() { std::list nums_list = {0, 1, 2, 3, 4, 5}; автоматический звонок = список_номеров | станд::views::chunk(2); for (автопара: rng) { std::cout
Я столкнулся со странным поведением: если вы создаете фрагментированное представление списка по 2 элемента, а затем пытаетесь напечатать переднюю и заднюю часть в цикле for с диапазоном, передний метод будет работать, но задний метод не будет. Это приведет к ошибке компилятора, сообщающей, что для создания экземпляра метода .back() требуется двунаправленный итератор. Я что-то упустил?
Код, воспроизводящий ошибку
#include #include #include #include интервал основной() { std::list nums_list = {0, 1, 2, 3, 4, 5}; автоматический звонок = список_номеров | станд::views::chunk(2); for (автопара: rng) { std::cout
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение