6

我正在测试 C++ 20 的范围,这是我的main.cpp

#include <ranges>
#include <iostream>

int main()
{
    auto const ints = {0,1,2,3,4,5};
    auto even = [](int i) { return 0 == i % 2; };
    auto square = [](int i) { return i * i; };

    for (int i : ints | std::views::filter(even) | std::views::transform(square)) {
        std::cout << i << ' ';
    }

    std::cout << '\n';
}

编译它clang++-12但找不到“范围”:

$ clang++-12 --version
Ubuntu clang version 12.0.1-++20210525082622+328a6ec95532-1~exp1~20210525063352.95
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin


$ clang++-12 main.cpp
cpp_ranges.cpp:1:10: fatal error: 'ranges' file not found
#include <ranges>
         ^~~~~~~~
1 error generated.

打电话clang++12--std=c++20没有什么不同。

我该如何解决?

4

0 回答 0