我必须在 c 代码中使用一个使用多态性的 wsdl 来进行 GSOAP 调用。根据 GSOAP 文档(8.2 使用 typemap.dat 文件自定义数据绑定),它需要在 typemap.dat 中进行修改,这是将基本类型重新声明为包装器类型。因为,我只想更改用法,所以我按照文档中的建议在声明部分使用了省略号 (...),但 wsdl2h 似乎不理解省略号并将它们按原样放置在输出头文件中,这会在代码构建期间导致语法错误。
在 typemap.dat 中为多态绑定完成了添加:
[
struct __ns__PolymorphicStruct
{
int __type;
void *__item;
struct ns__PolymorphicStruct *__self;
};
]
ns__PolymorphicStruct = ... | struct __ns__PolymorphicStruct | struct __ns__PolymorphicStruct
如果我在这里做错了什么,有人可以帮忙或指出吗?