赋值运算符给出“没有合适的用户定义的转换”错误

时间:2019-09-12 00:51:05

标签: c++ operator-overloading assignment-operator

我有一个CDateTime类,使用以下方法:

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

但是它似乎没有用。

enter image description here

有人可以告诉我我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

您正在初始化而不是分配dtStartdtEnd变量。要使初始化生效,您需要以下构造函数:CDateTime(const COleDateTime& datetime)

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

CDateTime dtStart; dtStart = dlg.m_dtStartDate;