首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • AfxMessageBox(("Simple message box."));出错。 [已结贴,结贴人:visame]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 04:14:48 楼主
    刚刚开始用VC++。Vc2005.net
    AfxMessageBox(("Simple message box."));出错。

    c:\documents and settings\visame\my documents\visual studio 2005\projects\ex03\ex03\ex03view.cpp(108) : error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
            c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5025): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
            c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5027): or 'int AfxMessageBox(UINT,UINT,UINT)'
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 04:16:571楼 得分:5
    AfxMessageBox(_T("Simple message box."),MB_OK);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 04:57:352楼 得分:0
    引用 1 楼 sarah012 的回复:
    AfxMessageBox(_T("Simple message box."),MB_OK);

    能够说一下为什么吗?
    要不然下次还错。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • alan001
    • 等级:
    发表于:2008-05-13 09:49:023楼 得分:0
    两个参数,后面一个是messagebox的类型
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 09:51:154楼 得分:0
    AfxMessageBox("Simple message box.");
    写成这样就完了呗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 10:17:155楼 得分:0
    楼主在里面加个括号干吗???
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 10:51:476楼 得分:0
    引用 4 楼 lutioncs 的回复:
    AfxMessageBox("Simple message box.");
    写成这样就完了呗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cnzdgs
    • 等级:
    发表于:2008-05-13 14:18:227楼 得分:15
    2005中默认使用Unicode字符串,而"Simple message box."是多字节字符串,所以参数类型不匹配。如果写成_T("Simple message box."),_T宏会根据项目配置来决定是否在字符串前面加上L,从而实现“自适应”。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 15:59:558楼 得分:0
    有三个参数了.
    AfxMessageBox("Title","Content",Mb_OK);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 16:57:519楼 得分:0
    。。。。 哥哥 那是ERROR咧。  而且已经告诉你了,none of the 2 overloads could convert all the argument types
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 17:39:2810楼 得分:0
    AfxMessageBox("Simple message box.");
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 17:49:0211楼 得分:0
    -_-
    建议找本MSDN看看。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-14 12:27:5312楼 得分:0
    主要是Unicode的问题。
    注意在Unicode下面,字符串是需要加前缀L的,也就是应该
    AfxMessageBox(L"Simple message box.");
    为此,微软提供了宏_T(...)
    如果我们总是将字符串或者字符宏用_T包含起来,那么无论Unicode还是非Unicode模式就都可以使用了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-14 15:27:1413楼 得分:0
    嗯,大哥们说的没错,为常量字符串加_T()宏是个好习惯,甚至在工程中也是必须的。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved