Перегруженная настройка оператора
Какой из двух операторов здесь должен предпочесть компилятор?
#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