腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
编译
包含
指向
模板
函数
的
指针
的
初始化
器
列表
时
,
出现
了
gcc
错误
,
而
不是
clang
错误
c++
、
templates
、
c++17
、
initializer-list
、
template-argument-deduction
下面的代码片段在vc++和
clang
++中
编译
得很好,但在
gcc
(Inc.9.2)上
编译
失败,除非我添加一个显式强制转换。哪种
编译
器
就在这里?
浏览 21
提问于2019-12-29
得票数 23
回答已采纳
1
回答
函数
作用域
指向
未命名数组
的
静态
指针
的
GCC
/
clang
编译
错误
c
、
gcc
、
scope
、
static
、
clang
为什么
GCC
和
clang
在定义一个
函数
作用域
的
static
指针
初始化
到一个未命名
的
数组
时
,分别显示"error:
初始化
器
元素
不是
常量“和"error:
初始化
器
元素
不是
编译
时常量”;但是,当在文件范围内为同一个未命名数组定义相同
的
静态
指针
时
我使用嵌入式H
浏览 16
提问于2022-12-01
得票数 3
回答已采纳
1
回答
使用解密内部
模板
参数
列表
来推断
指向
类成员
的
指针
类型。
c++
、
templates
、
c++11
、
gcc
当我试图实例化这样
的
模板
时
,
GCC
给了我一个“
模板
参数2是无效
的
”
错误
(参见using Check行)。我非常好奇,我可以在
模板
参数
列表
之外使用decltype获得
指向
成员
的
指针
,但不能在
模板
参数
列表
中获得
指针
(参见变量p2
的
定义)。事实上,
Clang
确实
编译
了</e
浏览 3
提问于2016-02-14
得票数 5
回答已采纳
1
回答
指向
带有默认参数
的
函数
的
指针
c++
、
c++14
template <typename T> return (*T::value) (s);因此,T应该
包含
指向
适当
函数
的
指针
,所以我这样声明它<Foo> ("b") << "\n"; // 42 在
GCC
5.3.1上,这段代码
编译
得很好,但是
GCC
6.3.1和Hass7.2.1
编
浏览 5
提问于2018-01-10
得票数 0
1
回答
初始化
程序
列表
中
的
int[]数组
初始化
规则
c++
、
c++17
如果
指向
C++标准中int数组
初始化
列表
的
指针
,我会发现
clang
和
gcc
(c++ 17)之间存在不一致,参见下面和
编译
器
资源管理
器
。问题:为什么可以使用
初始化
程序
列表
初始化
v1,但我们不能
初始化
一个临时
的
将其传递给Test2?为什么
clang
和
gcc
在
函数
param是对i
浏览 3
提问于2022-12-04
得票数 1
3
回答
gcc
对
clang
:静态铸造
时
未使用
的
模板
专业化解析
c++
、
templates
、
function-pointers
、
static-cast
我正在尝试静态地转换
指向
特定
函数
重载
的
函数
指针
,但是
clang
似乎仍然解析(未使用
的
)
模板
专门化
的
to以外语句,从而生成
编译
器
错误
。
GCC
似乎并不关心“否”,除非相应
的
函数
重载是未使用
的
。calling works fine static_cast<void(*)(int*
浏览 0
提问于2019-06-05
得票数 4
回答已采纳
1
回答
显然,类
模板
成员
的
初始化
错误
很好。
c++
、
visual-c++
、
g++
、
clang
、
language-lawyer
我希望所有的构造
函数
都会产生
编译
错误
,因为我试图用m_bar
初始化
bar,这是一种方法(并
不是
说我没有在这里调用bar )。但是所有变体都在所有主要
编译
器
上
编译
,只有Foo(int)中
的
clang
例外。 注意,当我调用相应
的
构造
函数
重载(例如Foo<int> f{1}; )
时
,所有
编译
器
都会按预期失败。但据我所知,类
浏览 0
提问于2021-08-12
得票数 1
回答已采纳
1
回答
包含
依赖于类成员
的
模板
的
类
c++
、
templates
、
pointer-to-member
因此,这个ValueGetter类
包含
指向
包含
它
的
对象
的
指针
(在构造
函数
中作为运行时参数获取它),以及
指向
它作为
模板
参数操作
的
成员
的
指针
。ValueGetter<Style, &Style::a> x; // Error: 'Style::a' : is not a type name, static, or enumer
浏览 3
提问于2013-05-21
得票数 0
回答已采纳
1
回答
推导显式专门化
函数
模板
类型
c++
、
gcc
、
c++14
、
language-lawyer
、
type-deduction
在中,
GCC
编译
失败(1) (无法推导出F),但
编译
成功(2)。这里
的
关键点是bar
模板
推导出
的
返回类型,否则
GCC
不会失败
的
。 但是,
Clang
编译
整个代码
时
没有
出现
错误
。在这个上下文中,(1)和(2)
的
本质区别是什么,除了b是
指向
函数
的
指针
之外?是
GCC
浏览 45
提问于2019-07-23
得票数 3
回答已采纳
2
回答
用联邦工会取代reinterpret_cast -好主意?
c++
、
c++11
、
union
、
constexpr
我使用这段代码将
指针
转换为size_t,它在::std::hash
函数
中使用,该
函数
应该在
编译
时
散列给定
的
指针
,而且由于constexpr中不允许使用reinterpret_cast,所以我想出了以下解决方案,它
的
工作方式与预期
的
一样,但我想知道这是否可以被认为是一个好主意。如果您能给我一些关于这段代码
的
可移植性
的
提示,那也太好了。是否有更好
的
解决方案--如上所述,我希望创建一个在
浏览 0
提问于2019-04-05
得票数 0
回答已采纳
2
回答
在具有通用引用参数
的
函数
模板
中使用类
模板
c++
、
templates
、
c++11
、
gcc
根据msvc、
gcc
和
clang
的
说法,以下代码是非法
的
:void f(T&& e) { // do somethingwith v and e ...int main() { f(i);msvc产量 xmemory0(591):
错误
C2528:“
指针
”:
指向
引用<em
浏览 4
提问于2016-02-15
得票数 10
回答已采纳
1
回答
引用-限定成员
函数
作为
模板
参数?
c++
、
templates
、
c++11
、
member-functions
、
ref-qualifier
这在
clang
3.3中
编译
得很好:struct M; struct M <R (C::*)(A...) &> { };[...] error: redefinition of ‘struct M <R (C::*)(A,这会导致各种意外
的
编译
器
行为
浏览 2
提问于2013-09-11
得票数 9
回答已采纳
1
回答
在没有
编译
器
警告
的
情况下,c++
指针
段
错误
在以前分配
时
工作。
c++
、
pointers
、
segmentation-fault
我很难理解
指针
以及它们是如何/何时失败
的
。所以我做了一个小程序,它创建一个
指针
,给它分配一个值,然后打印这个值。使用
gcc
和
clang
都可以
编译
,并且在使用-Wall开关
时
不会发出任何警告。为什么它是分段
错误
,为什么当我首先为
指针
分配一个不同
的
值
时
,它
不是
分段
错误
?我以为我已经
初始化
了
指向
某个地方
的
<
浏览 6
提问于2022-03-15
得票数 1
回答已采纳
1
回答
检验课堂
函数
存在性
的
概念(
GCC
问题?)
c++
、
templates
、
gcc
、
c++20
、
c++-concepts
我希望检测一个
函数
(在我
的
例子中是operator())是否存在于一个类中,
而
不管它
的
签名如何,或者是否有可能获得
指向
它
的
指针
(如果没有额外
的
信息,它可能是不可能
的
,因为它是
模板
化
的
或重载
的
)。下面的代码使用一个概念
编译
在MSVC和
clang
上,
而
不是
GCC
(关于
错误
信息,
浏览 4
提问于2022-01-13
得票数 4
回答已采纳
2
回答
非静态数据成员
初始化
器
中lambda
函数
的
分割故障
c++
、
c++11
、
gcc
、
language-lawyer
我不确定在从lambda
函数
初始化
std::function
时
是否存在
GCC
错误
,在非静态数据成员
初始化
器
中捕获this。这是C++标准允许
的
还是UB
的
?但是,当使用
GCC
5.4.0或
GCC
6.2.0构建
时
,a.f(1)会发出分段
错误
,因为捕获
的
this
指针
为null。如我所料,下列替代办法起作用: 使用构造
函数
浏览 0
提问于2016-09-21
得票数 20
1
回答
为什么lambda,当转换为
函数
指针
时
,不能用在constexpr上下文中?
c++
、
lambda
、
language-lawyer
、
constexpr
编译
,
gcc
认为x没有链接.对于非常类似的示例,仅在使用lambda表达式
时
:struct S { autolambda = []{};}
gcc
和
clang
都同意不
编译
代码:按
gcc
的
说法,一元+返回
的
函数
没有链接,
而
clang</em
浏览 2
提问于2016-12-16
得票数 13
回答已采纳
1
回答
可变
模板
参数包扩展松限定符
c++
、
gcc
、
variadic-templates
、
variadic-functions
假设我有一个变量
函数
模板
,它使用
函数
指针
指向
带有上述变量参数
的
函数
。以下代码
不是
在
gcc
(11.2)下
编译
的
,而是在
clang
和msvc ()下
编译
的
。显然,
模板
参数
的
扩展放松了
gcc
下
的
cv-限定符,而把它保存在
clang
和msvc下。我知道我不需要显式
浏览 0
提问于2022-03-28
得票数 4
回答已采纳
1
回答
是什么导致这段代码只在某些
编译
器
(UD?)上工作?
c
、
compilation
、
undefined-behavior
在我
的
代码中,我有这样一行:其中f是
函数
,t是
指向
结构
的
指针
,destroy是释放
指针
t并返回NULL
的
函数
。正如我所期望
的
那样,代码在一些
编译
器
(cc、
gcc
、
clang
on OS X和
clang
on Linux)上成功
编译
和运行-在释放t之前,对t-&g
浏览 0
提问于2015-04-29
得票数 0
1
回答
&array[0]==(void*)&数组是否保证为真?
c++
、
arrays
指向
任意数组
的
指针
是否等于
指向
数组
的
第一个元素
的
指针
(在强制转换为first *之后),并且独立于
编译
器
? 我需要一个
模板
函数
,它接受
指向
array[0]
的
指针
,并提供对数组
的
引用。下面的代码做
的
工作(至少在
gcc
和
clang
),我想知道这是否合法
的
C++代
浏览 0
提问于2018-11-11
得票数 1
1
回答
关于使用子对象作为
模板
的
非类型参数,C++20标准是怎么说
的
?
c++
、
language-lawyer
、
c++20
,注释中带有单词error
的
行应该可由支持c++20
的
c++
编译
器
编译
,因为a[2]和s.m既
不是
临时对象,也
不是
字符串文本,也
不是
typeid
的
结果,也
不是
预定义
的
变量__func__或上述任何一个
的
子对象实际上,
gcc
11.1没有
错误
地
编译
,但是
clang
12.0.0用
错误
编译<
浏览 2
提问于2021-06-06
得票数 6
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C+23 特性概览
轻松教你如何在C+中,使用参数化构造函数来初始化对象数组
令人沮丧的C++性能调试
C加加开发易踩雷区
请问C+11有哪些新特性?
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券