首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

请问,报不能将“const char [7]”转换为“LPCTSTR”

2012-03-03 
请教大虾,报不能将“const char [7]”转换为“LPCTSTR”代码语句:MFC 中的CMenu menu//构造一个菜单对象menu.

请教大虾,报不能将“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.

热点排行