首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clang 7没有std::map::merge?

clang 7没有std::map::merge?
EN

Stack Overflow用户
提问于 2019-08-05 12:40:05
回答 1查看 304关注 0票数 1

当我使用std::map的合并(源)时,我得到了一个错误:

代码语言:javascript
复制
error: no member named 'merge'

然而,std::map::merge应该在c++17之后就出现了,我添加了set(CMAKE_CXX_STANDARD 17)-stdlib=libc++。std::map::提取器已经在那里了。这是clang-7的窃听器吗?

如果去掉-stdlib=libc++,gcc标题中确实包含std::map::merge。那我就可以编译了。但我的项目确实需要-stdlib=libc++。有什么想法吗?

我四处寻找,发现合并既不存在于llvm/include/c++/v1/map中,也不存在于llvm/include/c++/v1/experimental/map中。那么,我应该包括哪个标题呢?还是clang-7中的c++17支持仍然存在问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-05 13:15:45

它在LLVM 8中,而不是7中。它是C++17状态表中的item p0083r3,下面是提交:

https://github.com/llvm/llvm-project/commit/5c4e07ae5c6f7f467b436f1b24f41ef4cf9897b3

从标签列表中看,它似乎没有被重新移植到7。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57358807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档