gpt4 book ai didi

c++ - header `execution` 和 `std::reduce` 未找到

转载 作者:可可西里 更新时间:2023-11-01 15:13:56 26 4
gpt4 key购买 nike

我正在尝试编译这段代码

#include <vector>
#include <numeric>
#include <execution>

double result = std::reduce(std::execution::par, v.begin(), v.end());

我试过这些编译器:

Apple LLVM version 8.1.0 (clang-802.0.42)

clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

所有三个都给我 'execution' file not found

分别错误:命名空间'std'中没有名为'reduce'的成员
自动结果 = std::reduce(v.begin(), v.end());

对于这个片段

#include<numeric>
#include<vector>

int main(int argc, char *argv[])
{
std::vector<double> v(10, 1);

auto result = std::reduce(v.begin(), v.end());
return 0;
}

我猜我的编译器太旧了?但是on cppreference它没有说明最低需要哪个编译器版本,而且我在 repo 协议(protocol)中没有看到 clang 或 gcc 的任何更新版本。

最佳答案

std::reducestd::execution::par 从 C++17 开始可用。

对于大多数编译器,C++17 尚未完全实现。您可以尝试使用带有标记 -std=c++1z 的 clang。

关于c++ - header `execution` 和 `std::reduce` 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43689444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com