gpt4 book ai didi

c - wsdl2h 无法理解声明部分中提供的省略号 (...)

转载 作者:行者123 更新时间:2023-11-30 17:46:17 25 4
gpt4 key购买 nike

我必须使用 c 代码中使用多态性的 wsdl 来进行 GSOAP 调用。根据 GSOAP 文档(8.2 使用 typemap.dat 文件自定义数据绑定(bind)),它需要修改 typemap.dat,即将基本类型重新声明为包装类型。因为,我只是想更改用法,所以我按照文档中的建议在声明部分使用了省略号 (...),但 wsdl2h 似乎无法理解省略号并将它们按原样放置在输出头文件中,这会在代码构建期间导致语法错误。

在 typemap.dat 中添加多态绑定(bind):

[ 
struct __ns__PolymorphicStruct
{
int __type;
void *__item;
struct ns__PolymorphicStruct *__self;
};
]
ns__PolymorphicStruct = ... | struct __ns__PolymorphicStruct | struct __ns__PolymorphicStruct

如果我在这里做错了什么,有人可以帮忙或指出吗?

最佳答案

省略号旨在表示 wsdl2 生成的 ns__PolymorphicStruct 定义,因此在您的情况下,您最终将得到两个声明。

用途:

[ 
struct __ns__PolymorphicStruct
{
int __type;
void *__item;
struct ns__PolymorphicStruct *__self;
};
]
ns__PolymorphicStruct = | struct __ns__PolymorphicStruct | struct __ns__PolymorphicStruct

或使用以下内容(尽管 ns__PolymorphicStruct 的重写声明的位置将会改变):

ns__PolymorphicStruct = \ 
struct __ns__PolymorphicStruct\
{\
int __type;\
void *__item;\
struct ns__PolymorphicStruct *__self;\
};\
| struct __ns__PolymorphicStruct | struct __ns__PolymorphicStruct

其中\用于允许声明继续到下一行。

关于c - wsdl2h 无法理解声明部分中提供的省略号 (...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19359435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com