【发布时间】:2022-06-14 18:16:15
【问题描述】:
我有这个sn-p。
#include <algorithm>
#include <vector>
int main() {
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2 = {4, 5, 6};
return std::ranges::equal(v1, v2);
}
我用 GCC 10 (Debian stable) 编译它,一切都很好:
$ g++ -std=c++20 test.cpp -o test
<compiles fine>
我用 Clang 14 和 libc++14(Debian 稳定版,从 apt.llvm.org 的包安装)编译它:
$ clang++-14 -std=c++20 -stdlib=libc++ test.cpp -o test
test.cpp:8:25: error: no member named \'equal\' in namespace \'std::ranges\'
return std::ranges::equal(v1, v2);
~~~~~~~~~~~~~^
1 error generated.
很多其他事情也是如此。 libc++ 对范围库的支持真的那么落后还是我遗漏了什么?