Hi Shabbir,
My doubt is if we uncomment void (C1::*pmf1)() = &C1::f1; it showing error?But the samething is working fine for C2..the only difference is f1() is taking default argument.The error it is showing is
error C2440: 'initializing' : cannot convert from 'void (__thiscall C1::*)(int)' to 'void (__thiscall C1::*)(void)'
Here it is not recognizing default argument..why it is so..

Thanks and regards,