此程序是《VC++深入详解》第六章的第一个实例。在Visual C++ 6.0 环境下运行无误。但是,本人应用Visual Studio 2010最新发布的正式版运行出现如下错误提示:1>c:\users\zhangxuefeng\documents\visual studio 2010\projects\menu\menu\mainfrm.cpp(433): error  C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'const char [3]' to 'LPCTSTR'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

请教,这是什么原因,应该如何更改才能正确运行?望高手指点,谢谢!

解决方案 »

  1.   

    采用UNICODE的原因。
    将字符串用_T("测试字符串");表示即可。
    VC默认不是UNICODE。
      

  2.   

    VC6默认不是UNICODE。
    VS2008以上默认是UNICODE。
      

  3.   

    改完提示是:
    1>c:\users\zhangxuefeng\documents\visual studio 2010\projects\menu\menu\mainfrm.cpp(433): error C2065: '_T' : undeclared identifier
    1>c:\users\zhangxuefeng\documents\visual studio 2010\projects\menu\menu\mainfrm.cpp(433): error C2143: syntax error : missing ')' before 'string'
    1>c:\users\zhangxuefeng\documents\visual studio 2010\projects\menu\menu\mainfrm.cpp(433): error C2059: syntax error : ')'
    请指点!
      

  4.   

    编码问题,将工程设置为Multiple byte编码即可