1。现在调用一个函数getSupportProvince ()
获得本天气预报Web Services支持的洲、国内外省份和城市信息
输入参数:无; 返回数据:一个一维字符串数组 String(),内容为洲或国内省份的名称。
2.在vs中添加引用后变成
getSupportProvince(
BSTR** getSupportProvinceResult, int* __getSupportProvinceResult_nSizeIs)3.我现在进行调用
         HRESULT hr=NULL;
//实例代理类对象
CWeatherWebService ws;
//定义接收结果变量
BSTR *result;
int nSize;  hr =ws.getSupportProvince(&result,&nSize);
编译可以通过,但是hr返回错误,问下高手怎么解决,还是我定义的参数有问题?该怎么定义

解决方案 »

  1.   

    楼上说的有道理,(hr返回的就是E_AIL) ,他返回一个数据,这里只定义了以指针,我感觉需要外部分配空间给返回的数据,但不知道具体怎么弄
      

  2.   

    BSTR *result;
    int nSize;hr =ws.getSupportProvince(NULL, &nSize); 
    result = new BSTR[nSize];
    hr = ws.getSupportProvince(&result, &nSize); orBSTR *result = new BSTR[1024];
    int nSize;hr = ws.getSupportProvince(&result, &nSize); 注意判断返回值。
      

  3.   

    2.在vs中添加引用后变成 
    getSupportProvince( 
    BSTR** getSupportProvinceResult, int* __getSupportProvinceResult_nSizeIs) 应该 改成这个: 
    getSupportProvince( 
    BSTR** [color=#00FF00]&
    getSupportProvinceResult, int* __getSupportProvinceResult_nSizeIs) [/color]