错误C2664:无法将参数1从“CString”转换为“LPWSTR” [英] Error C2664 : cannot convert parameter 1 from 'CString' to 'LPWSTR'
本文介绍了错误C2664:无法将参数1从“CString”转换为“LPWSTR”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我设计了一个Win32 Dll应用程序,其中一个函数返回句柄,参数是String所以我在Dll应用程序''c''文件中使用了LPSTR,它构建成功但是当我使用该函数时是基于MFC对话的应用程序而我将CString参数传递给该函数,但它出现错误为
错误 C2664:' :无法将参数1从'CString'转换为'LPWSTR'
所以参数传递的是什么到那个函数?
解决方案
你可以把CString对象强制转换为const指针:)
HANDLE测试(LPCTSTR szEntry)
{
HANDLE hRet(NULL);
// 在这里使用szEntry
< span class =code-keyword> return hRet;
}
// CString CYourDlg :: m_cszEntry
void CYourDlg :: OnTest()
{
UpdateData(TRUE);
HANDLE hEntry(Test(m_cszEntry));
// 在这里使用hEntry
}
I design one Win32 Dll application, in which one function returns handle and parameter is String so I used LPSTR in Dll application ''c'' file,it builds successfully but when I using that function is MFC dialogue based application and I passed CString argument to that function,but it gives error as
Error C2664: ': cannot convert parameter 1 from 'CString' to 'LPWSTR'
so what are the arguments pass to that function?
解决方案
You can cast a CString object to a const pointer :)
HANDLE Test(LPCTSTR szEntry) { HANDLE hRet(NULL); // use szEntry here return hRet; } // CString CYourDlg::m_cszEntry void CYourDlg::OnTest() { UpdateData(TRUE); HANDLE hEntry(Test(m_cszEntry)); // use hEntry here }
这篇关于错误C2664:无法将参数1从“CString”转换为“LPWSTR”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文