我正在使用WSUtil在C ++中设置Web服务。

我已经在代码上运行了该实用程序,并生成了文件。当我尝试生成exe时,出现生成错误:


  'theerror'使用未定义的结构'_WS_ERROR'


从行:


  WS_ERROR theerror;


在WebServices.h中


  typedef struct _WS_ERROR WS_ERROR;


但是_WS_ERROR的定义似乎引起了问题。有没有人遇到此问题或对如何找到_WS_ERROR的定义有任何建议?

最佳答案

这是一个古老的问题,但以防万一,答案会帮助其他人:

您不应该自己创建WS_ERROR实例。您应该通过WsCreateError为您分配它。

所以:

WS_ERROR theerror;


相反,应为:

WS_ERROR *theError;
HRESULT hr = WsCreateError(NULL, 0, &theError);
if (FAILED(hr)) {
 // do appropriate error handling here
}


完成后,请不要忘记:

if (theError)
{
  WsFreeError(theError);
}

10-06 07:26