LONGLONG CDiffTime(char TimePart, SYSTEMTIME BeginTime, SYSTEMTIME EndTime)
{
CTime t1(BeginTime);
CTime t2(EndTime);
CTimeSpan ts = t2 - t1;
if (TimePart == 'D')
return ts.GetDays;       //error
else if (TimePart == 'H')
return ts.GetHours;      //error
else if (TimePart == 'N')
return ts.GetMinutes;    //error
else if (TimePart == 'S')
return ts.GetSeconds;    //error
else return 0;}error C2475: “ATL::CTimeSpan::GetDays” : 构造一个指向成员的指针需要显式使用 address-of 运算符('&')和限定名error C2440: “return” : 无法从“LONGLONG (__thiscall ATL::CTimeSpan::* )(void) throw() const”转换为“LONGLONG”为什么有这两个错,请各位帮帮我这个菜鸟吧。

解决方案 »

  1.   

    LONGLONG CDiffTime(char TimePart, SYSTEMTIME BeginTime, SYSTEMTIME EndTime)
    这里的"LONGLONG"是个什么类型?自己定义的吗?
      

  2.   

    LONGLONG 在VC++里就是 __int64,CTimeSpan.GetDays 的返回值是这种类型。
      

  3.   

    呵呵,只顾着琢磨这两个莫名其妙的错误了,没太注意你的代码,仔细一看,原来你调用GetDays、GetHours、GetMinutes、GetSeconds的时候没加(),这样就不是函数调用了^_^。
      

  4.   

    呵呵,原来是这样啊,我一时大意了,害我折腾了N久,Thanks。