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); | |
} |