C++14 では意図通り動いたコードが C++17 では無限再帰して落ちるようになった
ttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=83345
struct Base
{
virtual ~Base() {}
};
struct Proxy
{
Proxy(const Base&) {}
};
struct Derived: Base
{
operator Proxy()
{
return Proxy(*this);
}
};
int main()
{
Derived().operator Proxy();
}