zoukankan      html  css  js  c++  java
  • 移植性问题のerror C2664: “MessageBoxW”: 不能将参数 2 从“char [20]”转换为“LPCW...

    1>d:\users\yangtse\documents\visual studio 2008\projects\winmain\winmain\54.cpp(27) : error C2440: “=”: 无法从“const char [14]”转换为“LPCWSTR” 1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换 1>d:\users\yangtse\documents\visual studio 2008\projects\winmain\winmain\54.cpp(35) : error C2664: “CreateWindowExW”: 不能将参数 2 从“const char [14]”转换为“LPCWSTR” 1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换 1>d:\users\yangtse\documents\visual studio 2008\projects\winmain\winmain\54.cpp(65) : error C2664: “MessageBoxW”: 不能将参数 2 从“char [20]”转换为“LPCWSTR” 1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

    MessageBox(hwnd,szChar,"char",0);

    MessageBox 在2008中定义为 MessageBoxW W指的是宽字节(也叫UNICODE),有3种方法可解决
    ①用函数MessageBoxA
    ②在内容前加上TEXT(对变量无效),如MessageBox(hwnd,szChar,TEXT("char"),0);

    ③在项目属性->常规中,把Uicode改成多字符段。
    PS:在2008中,很多函数的返回值都是宽字节的,所以不一定要用MessageBoxA
    在MSDN上可以查到用宽字节的函数和同样功能普通函数的名称。 在6.0中没用宽字节

  • 相关阅读:
    排序算法(一)冒泡法
    java是传值还是传引用
    赫夫曼树与赫夫曼编码
    数据结构的相关概念
    字符集和字符编码的区别
    redis为什么选择单线程工作模型
    GET和POST请求的核心区别
    MySQL数据类型及后面小括号的意义
    java中的数据类型
    Jedis无法连接centOS7上的redis
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2348591.html
Copyright © 2011-2022 走看看