error C2582: 'operator =' function is unavailable in 'CTimeStamp',请高手指教const CTimeStamp& operator= (const CTimeStamp& time_stamp);const CTimeStamp& CTimeStamp::operator= (const CTimeStamp& time_stamp)
{
m_fraction = time_stamp.m_fraction;
m_sec = time_stamp.m_sec;
m_min = time_stamp.m_min;
m_hour = time_stamp.m_hour;
m_mday = time_stamp.m_mday;
m_mon = time_stamp.m_mon;
m_year = time_stamp.m_year; return *this;
}

解决方案 »

  1.   

    int CPacket::GetParameter(const string& field_name, CTimeStamp& out_val)
    {
    if( field_name.empty () )
    {
    ACE_ERROR ((LM_ERROR, 
                        ACE_TEXT ("(%P|%t) CPacket_GetParameter : parameter string is empty. \n")));
    return -1;
    } map<string,CVariant>::iterator it_para = m_Parameters.find (field_name); if( m_Parameters.end () == it_para )
    {
    ACE_ERROR ((LM_ERROR, 
                        ACE_TEXT ("(%P|%t) CPacket_GetParameter : parameter string can not be found. \n")));
    return -1;
    } if( DT_TIMESTAMP != it_para->second.m_DataType )
    {
    ACE_ERROR ((LM_ERROR, 
                        ACE_TEXT ("(%P|%t) CPacket_GetParameter : parameter type is not satisfied. \n")));
    return -1;
    } out_val = *(it_para->second.m_ptimestamp);
    return 0;
    }
    如果去掉out_val = *(it_para->second.m_ptimestamp);
    那么代码是没有问题的,加上以后就会出现我上面提的错误,不知道到底哪出了问题
      

  2.   

    it_para->second.m_ptimestamp是CTimeStamp类型?