vHJ=msg.hj; //msg.hj是结构,int;vHJ是ado数据,int
     m_hj=vHJ;//m_hj是文本框变量
为什么error C2593: 'operator =' is ambiguous
     error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class _bstr_t' (or there is no acceptable conversion)
Error executing cl.exe.怎样给他们赋值,急!!!

解决方案 »

  1.   

    怎么在这里了?这个帖子============================================================================
    DocWizard C++ 程序文档生成工具 http://www.betajin.com/alphasun/index.htmswitch(m_adwType[vIndex.lVal])
    {
    case FT_INT:
    var.vt = VT_I4;
    var.lVal = *(int*)m_adwFields[vIndex.lVal];
    break;

    case FT_STRING:
    var = _variant_t(*(CString*)m_adwFields[vIndex.lVal]);
    break;

    case FT_REAL:
    var.vt = VT_R8;
    var.dblVal = *(double*)m_adwFields[vIndex.lVal];
    break;

    case FT_TIME:
    var.vt = VT_DATE;
    var.date = DATE((*(COleDateTime*)m_adwFields[vIndex.lVal]));
    break;

    default:
    ASSERT(0);
    break;
    }
    m_pRecordset->PutCollect(vIndex, var);
    switch(m_adwType[vIndex.lVal])
    {
    case FT_INT:
    if(var.vt==VT_NULL)
    {
    *(int*)m_adwFields[vIndex.lVal] = 0;
    break;
    }
    var.vt = VT_I4;
    *(int*)m_adwFields[vIndex.lVal] = var.lVal;
    break;

    case FT_STRING:
    if(var.vt==VT_NULL)
    {
    *(CString*)m_adwFields[vIndex.lVal] = CString("");
    break;
    }
    var.vt = VT_BSTR;
    *(CString*)m_adwFields[vIndex.lVal]
    = CString((LPCWSTR)var.bstrVal);
    break;

    case FT_REAL:
    if(var.vt==VT_NULL)
    {
    *(double*)m_adwFields[vIndex.lVal] = 0;
    break;
    }
    if(var.vt==VT_R8)
    *(double*)m_adwFields[vIndex.lVal] = var.dblVal;
    else if(var.vt==VT_R8)
    {
    *(double*)m_adwFields[vIndex.lVal] = (double)*var.pfltVal;
    }
    break;case FT_TIME:
    var.vt = VT_DATE;
    *(COleDateTime*)m_adwFields[vIndex.lVal] = COleDateTime(var.date);
    break;

    default:
    ASSERT(0);
    return;
    break;
    }