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