问题标签 [g++10]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如果没有指定,g++ (10.1) 使用什么标准?
如果 --std= 没有定义,g++ 10.1.1 实现了什么 C++ 标准?
我在手册中找不到这个。[当然它一定在某个地方。]
c++ - 基于 GTest 的测试二进制文件在构建时失败
我要将 GoogleTest 集成到我的项目中,但是在构建我的测试二进制文件时遇到了一些麻烦。
由于我要测试的代码是 C++20,我需要使用 g++-10 来构建它。
在我的根 CMakeLists.txt 中,我有以下定义:
在 test/ 子目录中有 CMakeLists.txt 文件,其中包含:
而我的 test_sample.cpp 的内容只是:
一旦我尝试构建它(CMake配置成功),就会出现以下错误,与g++-10有关:
有没有人有一个想法,至少,什么可能是错的?我的工具链有什么东西吗?库?
感谢任何愿意帮助或推动我正确方向的人!马丁
c++ - 错误:“排序”不是“std::ranges”的成员;你的意思是'std :: sort'吗?
我运行了以下代码
当我编译时g++ -std=c++20 file.cpp
,我得到
gcc --version
: gcc 10.2.0g++ --version
: g++ 10.2.0
为什么排序不是成员?我正在使用 VScode 智能感知,它显示诸如advance
、begin
、之类的方法common_view
。但不排序。
c++ - 错误:不匹配调用 '(const std::ranges::__sort_fn)
我正在练习vectors
并且ranges
陷入c++ 20
以下状态。
我编译了代码g++ 10.2
并得到了错误
而不是std::views::transform
,我也试过
- 拉姆达表达式
ranges::sort(models, {}, &Model::next_event_time)
但他们都产生了类似no match for call to
的错误。为什么会这样?
g++ - 是否需要 tbb 的并行 STL 算法?
我记得 g++ 9.3.0 需要链接到 libtbb 才能使用并行 STL 算法,否则会产生编译错误。我有一个使用 ubuntu 映像的 docker 容器,其中我只安装了 g++-10,我可以使用算法而无需编写-ltbb
. 我该如何解释?我到处搜索,到处都没有libtbb,所以我假设 g++-10 不再需要它?我在哪里可以阅读一些关于它不需要它或需要到版本 xxx 的事实的文档?感谢您的澄清。
c++ - 使用概念的模板类方法特化
有一个A
带有模板参数的模板类T
。f
如果T
是整数类型,我希望这个类有一个方法。该类A
还有很多其他方法,所以我不想专门化整体A
。我知道这个问题可以使用继承来解决,但我的问题是关于概念和要求。
这段代码
按我的预期工作。它仅对类型进行f
实现int
。如果我尝试调用A<std::string>{}.f();
它会按预期生成链接器错误。但如果我写
任何一个
该方法f
是为所有类型生成的,因此调用A<std::string>{}.f();
不会给出任何错误。
这也有效
但是这个
给出编译错误,即重新定义f
.
PS似乎根本不允许这样的构造,而g++
只是忽略了方法定义中的概念f
。
c++ - 范围填充无法编译
编译没有错误。
但如果我改为:
它返回以下错误消息: