相同的对象但类型不同
Identical objects but different types
我使用 C++ 应用程序在两个 PHP 服务器之间同步数据。
我的第一台服务器是本地服务器,我的 C++ 应用程序调用该服务器上的 Web 服务来获取要同步的对象。然后,我的 C++ 应用程序使用另一个网络服务将其发送到我的云 PHP 服务器上。
所以我的对象是一个 soap 对象,在我的两个 php 服务器上定义完全相同。
但是,对于我的 C++ 应用程序,这两个对象不同(或者至少具有不同的命名空间),因此 Y 无法编译以下行:
soapErrorCode = cloudWebService.action(myLocalObject);
//C++ is waiting for an object of type myCloudObject, even if these two object have the same attributes
我的 soap 对象和 Webservice 定义是在我的 C++ 中借助 gSoap 定义的。
我看到了不同的解决方案,但不确定哪个是最好的:
- 有没有办法告诉 C++ myLocalObject 和 myCloudObject 是一样的?注意:我不想手动修改 gsoap 生成的代码(工作量太大!)。
- 有没有办法告诉 gsoap myLocalObject 和 myCloudObject 相同?
- 我是否必须创建函数以将 myLocalObject 转换为 myCloudObject?
谢谢!
在我看来,两种可能的变体是:
- 将转换器函数从
myLocalObject
写入 myCloudObject
以及从 myCloudObject
写入 myLocalObject
- 您可以为
myLocalObject
和 myCloudObject
创建一个基 class 并处理它的指针。
我使用 C++ 应用程序在两个 PHP 服务器之间同步数据。
我的第一台服务器是本地服务器,我的 C++ 应用程序调用该服务器上的 Web 服务来获取要同步的对象。然后,我的 C++ 应用程序使用另一个网络服务将其发送到我的云 PHP 服务器上。
所以我的对象是一个 soap 对象,在我的两个 php 服务器上定义完全相同。
但是,对于我的 C++ 应用程序,这两个对象不同(或者至少具有不同的命名空间),因此 Y 无法编译以下行:
soapErrorCode = cloudWebService.action(myLocalObject);
//C++ is waiting for an object of type myCloudObject, even if these two object have the same attributes
我的 soap 对象和 Webservice 定义是在我的 C++ 中借助 gSoap 定义的。
我看到了不同的解决方案,但不确定哪个是最好的:
- 有没有办法告诉 C++ myLocalObject 和 myCloudObject 是一样的?注意:我不想手动修改 gsoap 生成的代码(工作量太大!)。
- 有没有办法告诉 gsoap myLocalObject 和 myCloudObject 相同?
- 我是否必须创建函数以将 myLocalObject 转换为 myCloudObject?
谢谢!
在我看来,两种可能的变体是:
- 将转换器函数从
myLocalObject
写入myCloudObject
以及从myCloudObject
写入myLocalObject
- 您可以为
myLocalObject
和myCloudObject
创建一个基 class 并处理它的指针。