Well, look at that - another syntax / semantics change from VC++ 6 to 2003/2005. Grumble, grumble, grumble... But yes, I just tried the variation you describe under 2005 and it does the trick. Anyway, it's not that you are discarding a specific 'this' pointer. The issue is that you are not discarding the class association. If you try to cast &CSomeClass::SomeMethod to something else such as: DWORD dw = (DWORD) &CSomeClass::SomeMethod; the compiler will still complain because this conversion would force it to discard the class association. (Actual error message under 2005 says,"There is no context in which this conversion is possible") Dan Remember kids, we're trained professionals.
Don't try this at home!