问题标签 [gcc10]
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++ - 为什么 gcc-10 看不到协程 ts 相关的关键字?
我在我的 ubuntu 20.04 上安装了 gcc-10 编译器。我需要测试协程ts的工作,所以我找到了一个使用协程的例子并尝试编译它。
例子:
即使我将 gcc-10 设置为 clion 中的默认编译器,添加了 required 标志并在 cmake 中包含了标准 20,编译器仍然会抛出错误。co_return 关键字错误
这很奇怪,因为标题中没有空格,并且其中的功能也可用。
制作:
如何解决这个差距?
我使用g++ version 10.2.0
和
c++ - 当结构具有零长度数组作为唯一成员时,数组下标超出范围
在以下代码中:
该类型CharArray<0>
最终将一个大小为零的数组作为其唯一成员。我知道这通常是 GCC 扩展和不安全的做法。问题不在于那个。
当我使用 gcc 10.2.0 编译代码时,我收到以下警告:
使用 gcc9 及更早版本没有警告。
问题:下标 8 是从哪里来的?Foobar [1]
那里提到了什么?看起来有一个 Foobars 的数组,我们正在尝试访问该数组中的元素 8。不知道这怎么可能发生。如果有人知道细节,如果您能解释一下,我将不胜感激。
gcc++-10
在 Ubuntu 20.04 中使用-O3 -Wall -Wextra
as 选项编译时会发生这种情况。如果我不通过任何优化标志,则不会有任何警告。另外:如果我把构造函数拿走,警告也会消失。
c++ - 为什么 gcc10 看不到 -fcoroutines 标志?
我正在尝试编译一个包含#include <coroutine>
头文件的程序。但是gcc10会抛出错误
我在 cmake 中设置了所有必要的标志
但是编译器看不到 -fcoroutines 标志。我正在使用 g++ 10.2.0
gcc - 从 GCC 4.8 迁移到 10 并且 -fpermissive 消失了?
我正在从 GCC 4.8 迁移到 10,但我注意到
不再工作了,总是忽略-fpermissive
标志。知道如何解决这个问题或如何解决它吗?我看到这个 bug pragma GCC 诊断警告 -fpermissive 自 gcc 4.8 以来不再有效,所以我想知道是否有人找到了解决方法。
c++ - 错误:'bool' 和 'int' 类型的无效操作数到二进制 'operator<=> - (GCC 10 - std=gnu++20)
在发布支持 c++20 后,我有一些 c++ 项目,我想升级我的 makefile std 支持 17 到 20 之后我的编译器(gcc10.2)给我这样的错误;
这是我的 AsyncSQL.cpp ;
这是我的 AsyncSQL.h
这就是函数错误的原因;
可选:1052;
在看到微软发布的文档后,我将尝试 <= > false; 像这样并再次出错..
此致。
c++ - 调用可变参数继承的非默认构造函数
我有一个抽象基类和一个以非常基本的方式实现它的类:
现在,我创建了一个可变参数继承并注意到一个奇怪的行为,我认为这是错误的:
由于某种原因,这会输出以下结果:
在此输出中,我有两点不清楚:
- 为什么会调用 base_core 默认构造函数?
- 为什么 impl_2 的参数化构造函数永远不会被调用?
我正在使用 Ubuntu 16.04(也在 20.04 上测试过),GCC 10.2。
c++ - 使用 Mingw-builds 构建 MinGW 失败
很长一段时间以来,我一直在成功地使用 mingw-builds ( https://github.com/niXman/mingw-builds ) 构建 mingw-w64。现在我想构建 g++ 10.3,但不知何故它不再工作了。我没有发现任何相关问题,并且我不知道任何处理此类问题的邮件列表。
我正在使用 mingw-builds 提交 6b7989789154e91110585b0d2b51456f4287f342。我运行构建的命令是
输出是
src/MARKERS/libiconv-1.16.tar.gz-download.log
将创建一个包含以下内容的文件:
有没有人遇到过同样的问题?解决办法是什么?
gcc - 当默认标准是 201402L (c++14) 时 g++ 与 g++ -std=c++14 有什么不同吗?
我试图利用预编译的标头来加快以下链接的编译速度:https ://codeforces.com/blog/entry/53909
我观察到头文件的预编译和 .cpp 程序的后续编译必须使用相同的 g++ 标志来完成,以加快工作速度,这是有道理的。但是,将 c++ 标准显式设置为默认标准是行不通的。g++ stdc++.h
因此,使用和后续的预编译都没有g++ -std=c++14 program.cpp
,也没有g++ -std=c++14
工作g++ program.cpp
。
这对我来说没有意义,因为我知道我的编译器 x86_64-w64-mingw32-g++.exe(gcc 版本 10.2.0)默认符合 201402L(c++14)标准,我想使用g++ -dM -E -x c++ /dev/null | fgrep __cplusplus
,并得到以下响应:
所以,我的问题是,当 g++ 默认遵循 201402L 时,g++ 和 g++ -std=c++14 有什么区别?另外,对我来说,专门选择其中任何一个是否足够重要?
c++ - c++20个概念构造函数重载
让
当我尝试使用 gcc v.10.2 编译它时,我收到以下错误:
但是 C++20 中的概念不会阻止实例化不满足其约束的函数?我知道 SFINAE 不起作用,因为这个 costructor 不是模板,但概念也应该适用于普通函数。
我做错了什么?