语句如下:
...
void *pNumTempValue = NULL;
SaveNumInDataElement(EleInfo,pNumTempValue);
SaveNumInDataElement函数的声明为:
SaveNumInDataElement(ElementStruct &EleInfo, void *pNumTempValue);在SaveNumInDataElement,我让pNumTempValue 指向不同数据类型的数值(比如long,short)在SaveNumInDataElement函数中pNumTempValue 是有值,但从SaveNumInDataElement返回后,这个指就变成0x00000000了,不知道是怎么回师?我可传的是指针进去啊!

解决方案 »

  1.   

    我把SaveNumInDataElement的函数体放在主凋函数中,就正常了
    说明pNumTempValue 可以指向不同数据类型的数值(比如long,short)有没有什么办法,让返回的pNumTempValue 有值啊?
      

  2.   

    我可以看看你的SaveNumInDataElement函数内容吗?
    小弟是初学者,弄不好请不要见怪^_^
      

  3.   

    if (!strcmp(EleInfo.VR,"FL"))
    {
            if (NULL != EleInfo.m_cValue)
    {
    float pTempValue = (float)atof(EleInfo.m_cValue);
    EleInfo.m_nValueLength = 4;
                                pNumTempValue = &pTempValue;
               }
    //else return false;
    }

    if (!strcmp(EleInfo.VR,"SL"))
    {
    if (NULL != EleInfo.m_cValue)
    {
    long pTempValue = (long)atol(EleInfo.m_cValue);
    EleInfo.m_nValueLength = 4;
    pNumTempValue = &pTempValue;
    }
    //else return false;
    }
      

  4.   

    我说大哥阿,你应该用void **,双指针才行