请教大虾,报不能将“const char [7]”转换为“LPCTSTR”
代码语句:MFC 中的
CMenu menu;//构造一个菜单对象
menu.CreatePopupMenu();//创建它
GetMenu()->AppendMenuW(MF_POPUP,UINT(menu.m_hMenu),"WinSun");//把它加到菜单末尾,即在末尾增加一个弹出试菜单。
错误提示:2error C2664: “BOOL CMenu::AppendMenuW(UINT,UINT_PTR,LPCTSTR)”: 不能将参数 3 从“const char [7]”转换为“LPCTSTR” c:\documents and settings\xxxx\my documents\visual studio 2005\projects\myproject\studymfc\studymfc\mainfrm.cpp96
还有最近我在消息处理函数中用这样一个函数“MessageBox(“failedType”)”时也报上面的错误,我已经把工程属性配置为了"使用 Unicode 字符集"了,不是说LPCTSTR是和Unicode 字符集相关定义的吗?怎么还报这种错误?请大虾帮帮忙!
[解决办法]
試試用強制轉換變數型態的方法吧,像這樣(LPCTSTR)"WinSun",若不行再試L"WinSun",再不行試_L"WinSun"。
都不行,請把結果po出來,讓大伙看看。
[解决办法]
GetMenu()->AppendMenuW(MF_POPUP,UINT(menu.m_hMenu),L"WinSun");
MessageBox(L“failedType”)
友情提醒LZ,这帖发到VC/MFC版比较合适
[解决办法]
GetMenu()->AppendMenuW(MF_POPUP,UINT(menu.m_hMenu),_T("WinSun"));
MessageBox(_T("failedType");
LPCTSTR 根据你的项目是否定义了_UNICODE决定实际类型,如果定义了_UNICODE,则他等价于LPCWSTR,否则是LPCSTR.