'for_each_n' 不是 C++17 中 'std' 的成员

2023-12-05

我有一小段代码std::for_each_n环形。我尝试在内置上运行它Coliru使用以下命令编译 GCC C++17:

g++ -std=c++1z -O2 -Wall -pedantic -pthread main.cpp && ./a.out

但编译器给出一个错误“‘for_each_n’不是‘std’的成员”。

我的代码如下,复制自参考参数.

#include <algorithm>
#include <iostream>
#include <vector>

int main()
{
    std::vector<int> ns{1, 2, 3, 4, 5};
    for (auto n: ns) std::cout << n << ", ";
    std::cout << '\n';
    std::for_each_n(ns.begin(), 3, [](auto& n){ n *= 2; });
    for (auto n: ns) std::cout << n << ", ";
    std::cout << '\n';
}

那么,为什么我会收到错误?


你的代码没有任何问题。问题是 libstdc++ 不支持std::for_each_n直到 GCC 8 和 Clang 8。如果我们看一下header定义了std::for_each_n,我们看到它不存在。

但是,如果您有权访问 libc++,它们的标头来自官方镜子确实实施std::for_each_n.

(更新:当前版本GCC 存储库现在还包括for_each_n)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

'for_each_n' 不是 C++17 中 'std' 的成员 的相关文章

随机推荐

  • 返回多个变量以在 Laravel 中查看的最佳方法

    我有一个操作方法 其主体中有多个变量 如下所示 bus Bus all user User all employer employer all 将这些变量对象返回到视图正在做的事情是使用这样的代码 return view create gt
  • 使用 Nodejs 的 SendGrid 模板中的变量替换不起作用

    继USE CASE在 SendGrids github 上确实设法向我发送带有正确模板的电子邮件 但替换显然不起作用 并且在生成的电子邮件中留空 服务器端 const sgmailer require sendgrid mail sgmai
  • 使用 Protractor 设置 Angular 模型

    我正在尝试使用 Protractor 在我的网站上模拟用户故事 用户必须输入使用自动完成功能的输入 在现实生活中 用户必须在输入中键入一些文本 然后使用鼠标或更自然地使用向下箭头键选择正确的命题 问题是我似乎无法用 Protractor 来
  • 什么是 WINAPI_FAMILY_ONECORE_APP?

    我正在 GitHub 上查看 Microsoft 的 OpenSSL 端口 有一个提交引起了我的注意 那就是添加Win10通用平台支持 在提交中 一个名为WINAPI FAMILY ONECORE APP出现 然而 我在搜索时并没有找到太多
  • 如何禁用来自其他域的WebService调用

    我想避免其他人访问我的网络服务 我有一个名为 WebService asmx 的 Web 服务 它托管在 www xyz com 上 我们知道我们可以访问该服务 例如http www xyz com WebService asmx 如何避免
  • 如何强制Dotnet6桌面Winforms应用程序使用appsettings.json而不是Settings.settings?

    如何强制 Dotnet6 桌面 Winforms 应用程序使用 appsettings json 而不是 Settings settings App config 如果我在 Visual Studio 2022 中创建一个新的桌面应用程序以
  • 使用 Apache POI 打开 .xlsx 文件时出现异常

    我一直在开发一个 Android 应用程序 其中我必须打开 xls 和 xlsx 文件才能进一步实现 如果是 xls 一切工作正常 但当我尝试打开 xls x 文件时 它给了我异常 下面是我的代码 请帮我解决这些异常 Override pr
  • 使用PHP数组将数据插入MYSQL

    你好 我正在尝试使用数组在 mysql 中插入数据 有人可以看看我的代码吗 我似乎无法让它工作 这是我的post php POST PHP post id somefunction title POST title body POST bo
  • java -fullversion 中的 b 表示什么?

    当我们使用java 完整版本 我们得到像 java 完整版这样的输出 1 7 0 45 b18 这是什么b18在java完整版中 我仔细阅读了一些 oracle java 文章 其中指出它表示构建版本 那么这个构建版本应该是什么 我还看到一
  • 集合如何对元素类型使用隐式转换?

    在工作的同时这个问题 我提出了以下问题 考虑两个方法定义 def foo T lt Ordered T s Seq T s sorted def foo T
  • 减小 .png 文件的大小是否会对内存中的位图产生影响

    我正在用大量的PNG图片编写游戏 一切都很好 比我添加新活动WebView并出现内存不足的情况 之后我做了一些实验 用刚刚完全填充一些颜色的图像替换游戏 PNG 图像 结果内存短缺问题就消失了 但我想Bitmap在内部单独保存每个像素 因此
  • 如何在代码块中启用 c++17 支持

    在 codeblocks 的 Build 或 Compiler 选项中没有 C 17 选项 只有 C 14 我如何在代码块中启用它 以便编码工具和编译器都支持它 代码 块 is not一个编译器 但有些人美化了源代码编辑器 有时也称自己为I
  • 串行队列上的dispatch_async和dispatch_sync之间的区别?

    我创建了一个像这样的串行队列 dispatch queue t serialQueue dispatch queue create com example name DISPATCH QUEUE SERIAL 有什么区别dispatch a
  • 如何按到给定点的距离对点列表进行排序?

    我有一个项目清单X and Y坐标 现在 有一种方法需要X and Y参数 并应返回根据给定参数从最近到最远排序的坐标列表 基本上 它看起来像这样 class Point x 0 0 y 0 0 List of points points
  • 如何在Python中的列表中获取某个内容之后的项目?

    我正在使用 textblob 来解析英文文本 这是单词列表 Get coffee and water here 我想在名为 list1 的新列表中获取项目 Get 之后的所有单词 我想在名为 list2 的新列表中获取 Get 和 here
  • Facebook FXBML 自昨天起未渲染(IFRAME Canvas)

    从昨天开始 我的应用程序没有渲染 xfbml 标签 名称和图片 我正在 Canvas Iframe 应用程序中使用新的 JavaScript SDK Firebug 在控制台中告诉我以下内容 Get http 0 channel20 fac
  • 基于另一个但具有不同 API 的 Swing 组件创建一个 Swing 组件

    我想基于现有的 Swing JComponent 创建一个新的 Swing JComponent 但使用不同的 API 换句话说 我不想扩展现有组件 因为我不希望它的 API 可供访问 这是一个例子来阐明我的需求 替代品JCheckBox显
  • C# 实现从签名文件中获取 SignedCms

    我正在使用 C CRYPT32 DLL 实现从签名的 c 程序集 dll 中提取 SignedCms 对象 用于签署 dll 的证书已过期 但内部具有有效的证书链 重要的是该证书由我都想提取的三个证书组成 private static re
  • Linq 中的动态排序依据

    我有一个访问数据库的应用程序 并且必须根据输入按不同字段对结果进行排序 这是我的排序函数 IQueryable
  • 'for_each_n' 不是 C++17 中 'std' 的成员

    我有一小段代码std for each n环形 我尝试在内置上运行它Coliru使用以下命令编译 GCC C 17 g std c 1z O2 Wall pedantic pthread main cpp a out 但编译器给出一个错误