You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCC拒绝引用限定与非引用限定成员函数重载是否正确?

关于C++23中成员函数引用限定符重载的GCC编译问题

我对相关回答的理解是,C++23中已移除[over.load]条款,因此原[over.load]/2.3中的规则不再适用。

以下代码:

struct Foo {
  int const& bar() const;
  int bar() &&;
  int& bar() &;
};

在C++23中应是合法的(尽管它在C++20中不合法)。Clang的行为符合这一理解,但GCC即使使用-std=c++23编译也会失败。

这是否是GCC的bug?我在GCC bugzilla中未找到相关问题(部分问题针对C++20,其余则与本问题无关)。


内容的提问来源于stack exchange,提问作者Enlico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:05:01