运行时错误,运行时黄色箭头错误提示指向 long型数据处理的地方,但我看并没有数据类型的错误啊,void GetValueFromVar(COleVariant& CurVar,void* RetVal)//该函数从表中取得各种类型的数据
{
switch(CurVar.vt)
{
             …………
           case VT_I4: //long 《--黄色箭头错误提示指向       
      *(long*)RetVal = CurVar.lVal;
   break;
   case VT_R4: //float                    
      *(float*)RetVal = CurVar.fltVal;
   break;
   case VT_R8: //double                
      *(double*)RetVal = CurVar.dblVal;
   break;
   }
}

解决方案 »

  1.   

    CurVar以及CurVar.vt现在各是什么?
      

  2.   

    case VT_I4: //long 
    这前一句什么
    错误的时候,经常都会停在了下一句的
    会不会
    void* RetVal提供的空间不够容纳值呢
      

  3.   

    不好意思,还是不大懂,更详细的代码在:
    http://expert.csdn.net/Expert/topic/2979/2979810.xml?temp=.8082697
      

  4.   

    case VT_I4: //long 《--黄色箭头错误提示指向       
          *(long*)RetVal = CurVar.lVal;
       break;
    RetVal,是不是他的地址指向了一个整形 该为长型试试