赋值运算符给出 '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;
}
但它似乎不起作用。
谁能告诉我我错过了什么?
您正在初始化,而不是分配 dtStart
和 dtEnd
变量。要使初始化工作,您需要此构造函数:CDateTime(const COleDateTime& datetime)
.
或者,如果 CDateTime
有默认构造函数,您可以将初始化拆分为声明和赋值:
CDateTime dtStart; dtStart = dlg.m_dtStartDate;
我有一个 CDateTime
class,方法如下:
CDateTime& operator=(const COleDateTime& datetime)
{
SetDateTime(&datetime);
return *this;
}
但它似乎不起作用。
谁能告诉我我错过了什么?
您正在初始化,而不是分配 dtStart
和 dtEnd
变量。要使初始化工作,您需要此构造函数:CDateTime(const COleDateTime& datetime)
.
或者,如果 CDateTime
有默认构造函数,您可以将初始化拆分为声明和赋值:
CDateTime dtStart; dtStart = dlg.m_dtStartDate;