Win32Application 中加了#define UNICODE #define _UNICODE后,为什么TCHAR  *temp=_T("XXX"); 报错?? error C2440: 'initializing' : cannot convert from 'unsigned short [13]' to 'char *'
而在控制台程序中却能正常运行,这是为什么呢??请教各位!!

解决方案 »

  1.   

    应该 不是这句出错的。检查你的变量是否有用char*声明的。
      

  2.   

    应该不是申请的问题吧
    我改为TCHAR  *temp="XXX"; 后编译可通过搞不懂,照说TCHAR  *temp=_T("XXX"); 这样才是对的啊
      

  3.   

    #include "stdafx.h"
    #define UNICODE
    #define _UNICODE是应该放到#include "stdafx.h"之后吧??
      

  4.   

    发到stdafx.h里面,包含所有头文件之前。
      

  5.   

    to:cnzdgs
    刚才那个问题不出错了,但另一个地方又开始出错了:
    TCHAR  *temp=_T("XXX"); 
    _tcscat(tname,temp);ret=RegSetValueEx(hkey,_T("XXX"),NULL,type,(const byte *)wtname,dwbuflen);//此行出错 error C2146: syntax error : missing ')' before identifier 'byte'
     error C2065: 'byte' : undeclared identifier
     error C2059: syntax error : ')'
     error C2059: syntax error : ')'如像还是与UNICODE 有关,请教!
      

  6.   

    UNICODE _UNICODE 我都是定义到工程属性里的