【发布时间】:2012-05-29 21:29:33
【问题描述】:
我正在尝试使用联合在 C 中创建多态性。我执行以下操作。
typedef struct{
...
...
} A;
typedef struct{
...
...
} B;
typedef union{
A a;
B b;
}C;
我的问题是:我怎样才能有一个采用 C 类型但也允许 A 和 B 的方法。我希望以下工作:
如果我定义一个函数:
myMethod(C){
...
}
那么,我想让它工作:
main(){
A myA;
myMethod(myA);
}
它没有。有什么建议吗?
【问题讨论】:
-
“不行”是什么意思
-
我收到“参数 1 的类型不兼容”的错误
-
编译后你打算做什么?你无法分辨它是 A 还是 B。
-
我保留了一个 int 标志,我可以测试它以查看实际类型是什么
标签: c struct polymorphism unions