Я экспериментировал с диапазонами C++ и столкнулся со странной проблемой. Я пытался вычислить сумму целочисленных элементов, созданных диапазоном, используя разные методы. std::reduce, похоже, отлично работает с диапазоном, создающим целые числа, но с 64-битными длинными я получаю ошибку компиляции, которую я не могу понять.
Вот упрощенный пример:
Код: Выделить всё
#include
#include
int main() {
auto v = std::views::iota(0l, 10l);
auto s = std::reduce(std::begin(v), std::end(v));
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79304682/stdreduce-works-with-int-based-ranges-but-not-with-long[/url]