template struct phuk { phuk(int) {} typedef double q; enum { r = 10 }; }; class myclass { myclass *a; myclass(*b)(); myclass(int x); myclass(myclass *c): a(0) {} myclass(myclass::*c)(myclass); myclass(phuk X3); myclass(phuk::q X3); myclass(int(phuk::q)): a(0) {} static int bait(phuk::q) { return 0; } myclass() { myclass(10); myclass yes(10); myclass(myclass(10)); myclass(myclass::*x)(myclass) = c; myclass(int(phuk::r)); myclass(bait); (this ->* x)(*this); } }; int main() { return 0; }