所以我有以下代码可以很好地运行:
CMyClass& CMyClass::operator=(DWORD rhs)
...
CMyClass exc;
exc = GetLastError();
它可以完成我所期望的一切(调用=
运算符中的内容。)
我想知道如何获得它,以便我可以像下面那样写它:
CMyClass exc = GetLastError();
我尝试使用上面的内容并且它没有调用=
运算符功能,而是让我只使用一个只调用默认构造函数的类。
由于
答案 0 :(得分:4)
需要构造函数。
CMyClass(DWORD rhs)
或明确
explicit CMyClass(DWORD rhs)
警告,隐式构造函数允许编译;
CMyClass exc = GetLastError();
但它也参与编译器生成的隐式构造和转换。通常最好是明确并写出来;
CMyClass exc ( GetLastError() );