Why is there no return type?
What is PointerConversion::*, why is it after operator part and why along with int type?
Can we write it in some more readable way, why is it written that way?
Thanks for replay. First one should be correct. Purpose of this class is to present a function that is able to convert class to primitive type, but this way you cannot compare Ptr<apple> == Ptr<orange>, if apple and orange are not related. That's why they didn't make just simple conversion to int, but that strange one.
EDIT:
I found what int PointerConversion::* is:
It's a member pointer to a field of type int within a PointerConversion. I'm not sure what it means, but it's easier to understand. Why is it so special, that it allows for that: