CString用于构造函数参数的坑

直接上代码

class AA {
public:
	AA(CString dat) {

	}
};
int main()
{
	CString dir = _T("abc");
	AA(dir);

	AA a(dir);

	AA(CString("xx"));
}

看着三种调用构造都没啥毛病,但是第一种直接构造临时变量时候就会报错

CString用于构造函数参数的坑_第1张图片

 

我有时候需要某个模块来处理数据,喜欢直接在构造函数里调用这个类内的方法完成计算,使用的时候直接一个临时构造就完事,不用再构造完以后调用个方法再运行。

结果写了几十年代码了。。。今天突然遇到了这种情况

你可能感兴趣的:(C++,windows,mfc)