1 2 3 4 5 6 7 8 9 10 11 12
// Build don't link: struct A { }; struct B: public A { A a; operator A () { return a; } // WARNING - never used implicitly }; void f (const A&); void g() { B b; (A) b; // gets bogus error - trying both constructor and type conversion operator }