1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
typedef struct _A A; typedef struct _A B; void some_function(B *b); class AClass { public: operator A*() { return 0;} }; class BClass :public AClass { public: operator B*() { return 0;} }; int main(int argc, char **argv) { BClass b; some_function(b); }