c++ - 重载的运算符首选项
问题描述
编译器必须在这里选择两个运算符中的哪一个?
#include <iostream>
struct A
{
operator char() { return 'A'; }
};
struct B : A
{
operator auto() { return 'B'; }
};
int main()
{
std::cout << B().operator char();
}
Clang 打印A
和GCC
打印B
:
https ://gcc.godbolt.org/z/v6c5Ta9Mf
解决方案
推荐阅读
- malloc - 将 GLIBC malloc() M_MMAP_THRESHOLD 增加到 1GB 的影响
- json - 谷歌物联网 JWT 到期
- java - Kibana 中不可见的字段
- python - 如何在python中将MySQLdb连接超时设置为无穷大
- javascript - 如何处理 ExtJs 上的错误
- react-native - 反应本机博览会 apk 大小
- javascript - 在 AngularJS 组件的控制器中实现 getInstance(elem)
- forms - Symfony 4 表单 CollectionType:仅使新行需要 FileType 元素
- c# - 如何调试我的 WebAPI 应用程序的发布版本?
- android - 动画 - 在 android 中从左到右滑动布局时放大和缩小图像的动画