gpt4 book ai didi

c++ - 为什么 (int&)0 格式不正确?

转载 作者:IT老高 更新时间:2023-10-28 13:01:44 26 4
gpt4 key购买 nike

根据 [expr.cast]/4,C 风格的转换按顺序尝试以下转换:

  1. const_cast
  2. static_cast
  3. static_cast 后跟 const_cast
  4. reinterpret_cast
  5. reinterpret_cast 后跟 const_cast

以下 Actor 阵容良好:

const_cast<int&>(static_cast<const int&>(0))

然而 GCC 和 Clang reject强制转换 (int&)0。为什么?

最佳答案

这是一个 bug in gccclang .

根据CWG 909 ,在为 C 风格的转换生成转换序列时,应使用“对措辞的直接解释”;在那里,第一个强制转换调用了一个转换运算符,但没有理由认为当第一个强制转换是引用绑定(bind)一个临时的时它应该有任何不同。

我已发布 a patch到 gcc 邮件列表,从 this git branch 生成,但目前还没有受到任何关注。

关于c++ - 为什么 (int&)0 格式不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com