有几个结构体, 想构造一个函数, 其中一个参数作为结构体指针, 在函数调用的, 指向不同的结构体, 可以做吗,

2024-12-22 23:50:22
推荐回答(3个)
回答1:

首先如果这几个结构体数据类型 相同,把一个参数作为结构体指针调用这几个结构体还可以做到,如果这几个结构体数据类型不同,用一个参数则无法实现你的要求。

变参函数也无法实现你的要求。变参函数只是说参数的个数是可变的,数据类型在定义好之后就不可变了。 有一个可以变通的办法就首先假设你已经有了结构体A,B,C,再定义一个结构体D typedef struct _D{
A a;
B b;
C c;
}D;
然后把参数的数据类型定义为 D* ,这样你就可以通过这个参数调用里边的结构体变量了。

回答2:

是C还是C++?
如果是C++推荐用继承解决。
如果是C只能是强转了,只不过你必须要小心。

回答3:

只要类型转换应该就可以