struct A { operator long(); }; struct B : A { operator unsigned() &&; }; int main() { int x = B(); }
Standard input is empty
prog.cpp: In function ‘int main()’: prog.cpp:10:12: error: conversion from ‘B’ to ‘int’ is ambiguous int x = B(); ^ prog.cpp:10:12: note: candidates are: prog.cpp:6:2: note: B::operator unsigned int() && operator unsigned() &&; ^ prog.cpp:2:2: note: A::operator long int() operator long(); ^ prog.cpp:10:6: warning: unused variable ‘x’ [-Wunused-variable] int x = B(); ^
Standard output is empty