首页
社区
课程
招聘
[求助]MFC求助关于字符串的问题
发表于: 2013-9-29 15:23 6368

[求助]MFC求助关于字符串的问题

2013-9-29 15:23
6368
上代码 :

=========================
CPropSheet pst("属性页菜单");
pst.DoModal();
=========================
CPropSheet 对象继承于CPropertySheet ,相信大牛已经猜到了,我在学习属性页对话框.
我需要提问的地方就是这句  CPropSheet pst("属性页菜单");
---------------------------------------->>>>>
当我这样写:CPropSheet pst("属性页菜单");
编译提示:
error C2664: “CPropSheet::CPropSheet(const CPropSheet &)”: 不能将参数 1 从“const char [9]”转换为“const CPropSheet &”
1>        原因如下: 无法从“const char [9]”转换为“const CPropSheet”
1>        无构造函数可以接受源类型,或构造函数重载决策不明确

---------------------------------------->>>>>
这样写:CPropSheet pst(_T("属性页菜单"));
编译提示:
error C2664: “CPropSheet::CPropSheet(const CPropSheet &)”: 不能将参数 1 从“const wchar_t [5]”转换为“const CPropSheet &”
1>        原因如下: 无法从“const wchar_t [5]”转换为“const CPropSheet”
1>        无构造函数可以接受源类型,或构造函数重载决策不明确

-----------------------------------------》》》》》
这样写:CPropSheet pst(L("属性页菜单"));
提示:“L”: 找不到标识符

--------------->>>>
这样写:CPropSheet pst ("asfg");
提示:error C2664: “CPropSheet::CPropSheet(const CPropSheet &)”: 不能将参数 1 从“const char [5]”转换为“const CPropSheet &”
1>        原因如下: 无法从“const char [5]”转换为“const CPropSheet”
1>        无构造函数可以接受源类型,或构造函数重载决策不明确

平台是vs2008  UNICODE

求助懂mfc
亲们来提示一下,感激不尽

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不知道你怎么定义CPropSheet的
你的CPropSheet构造函数CPropSheet的参数是const CPropSheet &,你却传字符串给它????
做事认真点好么.
2013-9-29 15:51
0
雪    币: 114
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
不是字符串的问题,是你继承出了问题。
CPropertySheet确实有这么一个构造函数:
CPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL,
                UINT iSelectPage = 0);
但是你的新类没有这个构造函数,你的新类只有不带参数的,还有系统自动给你生成一个复制构造函数。
你传一个参数进去,系统就调用构造函数,于是出现
error C2664: “CPropSheet::CPropSheet(const CPropSheet &)”: 不能将参数 1 从“const wchar_t [5]”转换为“const CPropSheet &”
1>        原因如下: 无法从“const wchar_t [5]”转换为“const CPropSheet”
2013-9-29 15:53
0
雪    币: 106
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你的编译环境应该是unicode的,应该这样传递字符串:_T("属性页菜单")
2013-9-30 09:18
0
雪    币: 114
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
同学们啊,好好复习好C++再学VC吧。。。都说不是字符串的问题了
2013-9-30 09:21
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
他这明显都没看原贴。。。原贴都已经用过_T的转换了。

构造 函数提示的这么明确。
2013-9-30 09:23
0
雪    币: 25
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
人家要CPropSheet类型作为参数,你却用w_char做参数……同学,要么强制类型转换,要么先去构造一下 CPropSheet这个结构
2013-9-30 12:39
0
雪    币: 106
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
算我没仔细看帖
2013-9-30 16:21
0
游客
登录 | 注册 方可回帖
返回
//