解决error C2664: no instance of constructor "CFileDialog::CFileDialog" matches the list
Posted 芯魂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决error C2664: no instance of constructor "CFileDialog::CFileDialog" matches the list相关的知识,希望对你有一定的参考价值。
VS2010默认配置里,使用的是UNICODE字符。
解决方法:项目上右击->属性,左边:配置属性->常规,右边:项目默认值->字符集,将UNICODE字符集改成多字节字符集。
PS:MFC里有两个宏,UNICODE和_UNOCODE控制UNICODE定义,都涉及到NICODE字符,非UNICODE字符定义为"目标字符串";
UNICODE字符,字义为L"目标字符串";
MFC里的另外的宏,自动进行了此解析,_T(x),__T(x),TEXT(x),x是字符串:"目标字符串"。对应的,把char换成TCHAR
以上是关于解决error C2664: no instance of constructor "CFileDialog::CFileDialog" matches the list的主要内容,如果未能解决你的问题,请参考以下文章
error C2664: “StrCmpW”: 不能将参数 2 从“const char [12]”转换为“PCWSTR”
error C2664: “CreateFileW”: 不能将参数 1 从“char *”转换为“LPCWSTR”
C++调试 错误error C2664 er ror C2440 求帮主
求助:error C2664: “CreateWindowExW”: 不能将参数 3 从“const char [8]”转换为“LPCWSTR”