I recently discovered the ranges stdandard library and encountered a strange behavior. When chaining multiple range adaptors, I can't chain after using
Код: Выделить всё
std::ranges::views::joinКод: Выделить всё
vec | std::ranges::views::slide(2) | std::ranges::views::joinКод: Выделить всё
vec | std::ranges::views::slide(2) | std::ranges::views::join | std::ranges::views::slide(2)Код: Выделить всё
error: no match for 'operator|' (operand types are 'std::ranges::join_view' and 'std::ranges::views::__adaptor::_Partial')
265 | vec | std::ranges::views::slide(2) | std::ranges::views::join | std::ranges::views::slide(2);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | std::ranges::views::__adaptor::_Partial
| std::ranges::join_view
Thanks in advance!
Источник: https://stackoverflow.com/questions/781 ... sviewsjoin
Мобильная версия