#include "windows.h" int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {   MessageBox (NULL, TEXT ("你好,欢迎来到VC之路"), TEXT ("欢迎"), 0) ;   return 0 ; } 刚刚学习使用VC,
上面这段代码无法编译通过.
似乎是TEXT类型值的问题.
是否没有引用TEXT类的原因??
如果是,那么要引用哪个头文件??请告知.谢谢

解决方案 »

  1.   

    MessageBox是CWnd的成员函数,需要CWnd及其派生类才能调用。
    你可以试一下AfxMessageBox(...);int AfxMessageBox(
       LPCTSTR lpszText,
       UINT nType = MB_OK,
       UINT nIDHelp = 0 
    );
    int AFXAPI AfxMessageBox(
       UINT nIDPrompt,
       UINT nType = MB_OK,
       UINT nIDHelp = (UINT
    ) -1 
    );
      

  2.   

    TEXT ("你好,欢迎来到VC之路"),->_T("你好,欢迎来到VC之路"),
      

  3.   

    我试过了,你的  MessageBox (NULL, TEXT ("你好,欢迎来到VC之路"), TEXT ("欢迎"), 0) ;   return 0 ;两行代码前面不知道加了什么"0xa1"之类的字符,删掉就好了你的代码是拷贝来的吧, 如果手工输入的话, 没有任何问题还有, 最好用#include <windows.h>
    而不是#include "windows.h"
      

  4.   

    你用的是WIN32,用AfxMessageBox( ……),MessageBox是用在MFC中的
      

  5.   

    MessageBox()是从CWnd类的啊,也  就是说是MFC工程用的,可以查MSDN看看它的头文件。
    MessageBox (NULL, _T("你好,欢迎来到VC之路"), _T ("欢迎"), 0) ;
    好想就可以的了吧:)
    AfxMessageBox();是很好用的,我在MFC里都用它。
      

  6.   

    #include <windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {     AfxMessageBox(TEXT "Simple message box.");    return 0 ; } int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0);
    int AFXAPI AfxMessageBox(UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) -1);
    还是无法通过
    编译提示:
    7 D:\Documents and Settings\Administrator\桌面\未命名1.cpp
    parse error before string constant
     
    [Build Error] At top level:14 D:\Documents and Settings\Administrator\桌面\未命名1.cpp
    syntax error before `('
      

  7.   

    #include <windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {     AfxMessageBox(TEXT "Simple message box.");    return 0 ; } int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0);
    int AFXAPI AfxMessageBox(UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) -1);
    还是无法通过
    编译提示:
    7 D:\Documents and Settings\Administrator\桌面\未命名1.cpp
    parse error before string constant
     
    [Build Error] At top level:14 D:\Documents and Settings\Administrator\桌面\未命名1.cpp
    syntax error before `('
      

  8.   

    两点:
    1.去掉你的程序中得非法字符
    2.Project->Settings-Link 最下面的 Project Option
    将里面的/subsystem:console 改成/subsystem:windows
    编译通过 
      

  9.   

    你最上面的程序,语句没有问题.不用把 MessageBox 改成 AfxMessageBox
      

  10.   

    MessageBox没有错, 看看"windows programming"就知道了
      

  11.   

    VC下新建一个win32 application
    然后新建文件
    把这个拷贝进去就行了#include "windows.h" int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, TEXT ("你好,欢迎来到VC之路"), TEXT ("欢迎"), 0) ; return 0 ; }我刚刚试过
      

  12.   


    #include "windows.h"int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
    MessageBox (NULL, TEXT ("你好,欢迎来到VC之路"), TEXT ("欢迎"), 0);
    return 0;
    }两点:
    1.去掉你的程序中的非法字符
    2.Project->Settings-Link 最下面的 Project Option
    将里面的/subsystem:console 改成/subsystem:windows
    编译通过 
      

  13.   

    用 BigF(包包:加油加油!!) 的方法也可以,因为win32 application
    程序中 默认的选项就是 /subsystem:windows
      

  14.   

    MessageBox()是winapi函数,不属于某个类
    楼主的情况我也遇到过,
    就是因为从网页上拷贝的缘故啊
      

  15.   

    我拷下你的程序!发现return不是蓝色的!是由于前面某个地方有非法的空格!你把前面的一些空格去掉就可以编译成功!在语法上是没有错误的!
      

  16.   

    我用的不是VC用的是一个用GCC作编译内核的小型C++工具.
    语法显示不如VC.看来是该装个VC了.
    不然有时郁闷死都不知道怎么回事!谢谢各位了!!
      

  17.   

    我也试过楼主的程序,如果你是用win32 Application 构建工程的话,调试就通不过,只能用 #include "stdafx.h" 这个头文件,(后面的代码不变)如果用<windows.h>是死都不能通过。另外,MessageBox 没有错。反而在win32 Application 里面 AfxMessageBox ()函数在用的时候 会出现 'AfxMessageBox' : undeclared identifier 的错误。
      

  18.   

    本人用的是VC 6.0  OS : WINDOWS XP