Как исправить ошибку недопустимого итератора при использовании конвейера представлений и диапазонов смежных_находок в С+ ⇐ C++
-
Гость
Как исправить ошибку недопустимого итератора при использовании конвейера представлений и диапазонов смежных_находок в С+
I'm trying to check if all values in nested vector are same/unique. I wrote this program (simplified, but same error):
godbolt link
#include #include #include #include auto main() -> int { std::vector vectors_of_ints { {1, 2, 3}, {4, 5, 6} }; auto get_vectors = [](const std::vector& v) { return v; }; auto get_ints = [](const int& i) { return i; }; auto all_ints = vectors_of_ints | std::views::transform(get_vectors) | std::views::join | std::views::transform(get_ints); auto status = std::ranges::adjacent_find(all_ints, std::not_equal_to{}) != std::ranges::end(all_ints); return status; } but I'm getting this error:
:22:44: error: no match for call to '(const std::ranges::__adjacent_find_fn) (std::ranges::transform_view&, std::not_equal_to)' 22 | std::cout
Источник: https://stackoverflow.com/questions/781 ... s-adjacent
I'm trying to check if all values in nested vector are same/unique. I wrote this program (simplified, but same error):
godbolt link
#include #include #include #include auto main() -> int { std::vector vectors_of_ints { {1, 2, 3}, {4, 5, 6} }; auto get_vectors = [](const std::vector& v) { return v; }; auto get_ints = [](const int& i) { return i; }; auto all_ints = vectors_of_ints | std::views::transform(get_vectors) | std::views::join | std::views::transform(get_ints); auto status = std::ranges::adjacent_find(all_ints, std::not_equal_to{}) != std::ranges::end(all_ints); return status; } but I'm getting this error:
:22:44: error: no match for call to '(const std::ranges::__adjacent_find_fn) (std::ranges::transform_view&, std::not_equal_to)' 22 | std::cout
Источник: https://stackoverflow.com/questions/781 ... s-adjacent
Мобильная версия