加L“”

error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型

初学.net,编写如下代码运行,竟然提示错误(error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型)。

代码:

1   void CMouseMoveView::OnAppExit()
   2   {
   3     // TODO: 在此添加命令处理程序代码
   4     if(AfxMessageBox("是否真的要退出当前程序?",MB_YESNO)==IDYES)
   5     AfxGetMainWnd()->SendMessage(WM_CLOSE);
   6    }

 办法1: 将第4行改为:if(AfxMessageBox(_T("是否真的要退出当前程序?"),MB_YESNO)==IDYES)

或者将第4行改为:if(AfxMessageBox(L"是否真的要退出当前程序?",MB_YESNO)==IDYES)

 办法2:选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可。

这是因为vs默认使用的是unicode字符编码集,而unicode要占2byte,通常的字符只占1byte,所以导致无法转换,故需要加上 _T 或 进行转换。

时间: 2024-08-03 15:18:18

加L“”的相关文章

ls加-l的输出解释备份

total 32 lrwxrwxrwx 1 cwj cwj   18 Aug  3 16:34 biji -> Documents/biji.txt drwxr-xr-x 2 cwj cwj 4096 Jul 30 19:19 Desktop drwxr-xr-x 3 cwj cwj 4096 Aug  3 18:57 Documents drwxr-xr-x 2 cwj cwj 4096 Jul 30 19:19 Downloads drwxr-xr-x 2 cwj cwj 4096 Jul

关于 char 、 wchar_t 、 TCHAR 、 _T() ||| 宏 _T 、 TEXT 、 _TEXT 、 L

char :单字节变量类型,最多表示256个字符, wchar_t :宽字节变量类型,用于表示Unicode字符, 它实际定义在<string.h>里:typedef unsigned short wchar_t. 为了让编译器识别Unicode字符串,必须以在前面加一个"L",定义宽字节类型方法如下: wchar_t c = `A' ;wchar_t * p = L"Hello!" ;wchar_t a[] = L"Hello!"

Unicode _T和L和_TXET

字符串前面加L表示该字符串是Unicode字符串._T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定义字符串的时候,用_T来保证兼容性.VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改.以下是别人的总结:一.在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,

C++中L和_T()之区别(转)

C++中L和_T()之区别 分类: C/C++2011-01-12 11:45 2878人阅读 评论(1) 收藏 举报 c++编译器apic 字符串前面加L表示该字符串是Unicode字符串._T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定义字符串的时候,用_T来保证兼容性.VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序

c++字符前面的L和_T

字符串前面加L表示该字符串是Unicode字符串._T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定义字符串的时候,用_T来保证兼容性.VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改. 以下是别人的总结: 一.在字符串前加一个L作用:    如 L"我的字符串" 表示将ANSI字符串转换成unicode

iperf网络测试工具中 -l 参数的作用

当使用iperf工具进行网络测试时,客户端不使用-l 参数设置缓冲区大小,服务端不显示数据,当设置了-l 1k 时,服务端才显示数据是怎么回事呢?请问设置了缓冲区大小影响到了什么,从而导致了这个结果:图一为未加-l参数图二为加了-l参数 请有经验的朋友解惑啊? 原文地址:http://blog.51cto.com/13287875/2112644

saltstack安装配置使用

背景:puppet 用ruby开发,saltstack用python语言开发的包 环境: 修改hostname和hosts文件, 关闭selinux,清空iptables 172.16.115.157  master.huangzp.com  ;hostname master 172.16.115.203  agent.huangzp.com  ;hostname agent 一.配置认证 1. 安装和启动Saltstack服务 master上: yum install  -y epel-rel

2016.1.14-2016.1.15学习总结

什么事数据类型? 1.数据类型是易与人类阅读的标记,用来表示计算机内存的特定用法: 2.在程序中使用时,数据类型规定所使用内存的大小以及在该内存中可存放的有效值. 3.Java是一种强类型编程语言,这意味着在Java程序中用到的所有变量都必须有明确定义的数据类型. Java数据类型怎么划分?分别包含什么型?各类型大小分别为多少? 基本类型(整型:byte 1个字节 short 2个字节 int 4个字节 long 8个字节 浮点型:float 4个字节 double 8个字节 字符型 char

Objective-C数据类型、数据类型转换

数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针类型,例如: NSAutoreleasePool *pool ,其中,NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型或叫对象类型. 4.id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量可以声明pool也可以声明为id