赋值运算符给出 'no suitable user-defined conversion' 错误

Assignment operator gives 'no suitable user-defined conversion' error

我有一个 CDateTime class,方法如下:

CDateTime& operator=(const COleDateTime& datetime)
{
    SetDateTime(&datetime);
    return *this;
}

但它似乎不起作用。

谁能告诉我我错过了什么?

您正在初始化,而不是分配 dtStartdtEnd 变量。要使初始化工作,您需要此构造函数:CDateTime(const COleDateTime& datetime).

或者,如果 CDateTime 有默认构造函数,您可以将初始化拆分为声明和赋值:

CDateTime dtStart; dtStart = dlg.m_dtStartDate;