一共五个文件://* stdafx.h 头文件*//
#pragma once
#include"afxwin.h"//* "TFrame.h"头文件 *//
#pragma once
class CTFrame: public CFrameWnd
{
public:
CTFrame();};//* "TFrame.cpp" 文件*//
#include"stdafx.h"
#include"TFrame.h"
CTFrame::CTFrame()
{
Create("s",NULL);
}//* TApp.h头文件 *//
#pragma once
class CTApp: public CWinApp
{
public:
CTApp();
virtual BOOL InitInstance();};
 
//* TApp.cpp文件 *//
#include"stdafx.h"
#include"TApp.h"
CTApp theApp;
BOOL CTApp::InitInstance()
{
m_pMainWnd = new CTFrame;
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return true;
}这几个文件相互包含,出现588个错误,看得蛋疼~~~在网上找了点资料,好像什么头文件包含顺序也有关系,但不知道怎么搞,大家来打打酱油吧.最好能指点一二随便贴一点错误吧:
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7576) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7581) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7626) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7626) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7631) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7634) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7634) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7639) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7648) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7648) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7653) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7656) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7656) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7661) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7760) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7760) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7766) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7769) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7769) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7775) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7910) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7920) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7936) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7946) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7958) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7958) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7961) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7964) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7964) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7967) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7976) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7976) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7979) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7980) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7983) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7983) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7986) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7987) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8016) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8016) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8020) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8022) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8025) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8025) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8029) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8031) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8064) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8064) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8067) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8068) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8071) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8071) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8074) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8075) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8084) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8084) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8087) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8088) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8091) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8091) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8094) : error C2061: 语法错误 : 标识符“UINT”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8095) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(8107) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)

解决方案 »

  1.   


    哦,忘记说了,我用的是VS2008   XP系统
      

  2.   

    可能是文件互相包含了,或者是需要引用的头文件未被包含,仔细检查下代码。另外,你的工程不是 MFC 的?为什么要手动架构?、、、、
      

  3.   


    杯具,写在一个文件里,也有198个错误,难道VS2008感冒了??//#include"stdafx.h"
    #include<afxwin.h>
    //#include"TApp.h"
    class CTFrame: public CFrameWnd
    {
    public:
    CTFrame();};CTFrame::CTFrame()
    {
    Create("s",NULL);
    }class CTApp: public CWinApp
    {
    public:
    CTApp();
    virtual BOOL InitInstance();};CTApp theApp;BOOL CTApp::InitInstance()
    {
    m_pMainWnd = new CTFrame;
    m_pMainWnd->ShowWindow(SW_SHOW);
    m_pMainWnd->UpdateWindow(); return 1;
    }
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2750) : error C2146: 语法错误 : 缺少“)”(在标识符“uFlags”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2750) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2750) : error C2491: “LocalAlloc”: 不允许 dllimport 数据 的定义
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2750) : error C2440: “初始化”: 无法从“int”转换为“HLOCAL”
    1>        从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2752) : error C2059: 语法错误 : “)”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2761) : error C2061: 语法错误 : 标识符“UINT”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2796) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2796) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2799) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2813) : error C2061: 语法错误 : 标识符“UINT”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2821) : error C2146: 语法错误 : 缺少“)”(在标识符“uMinFree”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2821) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2821) : error C2491: “LocalCompact”: 不允许 dllimport 数据 的定义
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2821) : error C2059: 语法错误 : “)”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2937) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2937) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2945) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2949) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2949) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2953) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2964) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2964) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2969) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2973) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2973) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2979) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3393) : error C2146: 语法错误 : 缺少“)”(在标识符“uExitCode”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3393) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3393) : error C2182: “ExitProcess”: 非法使用“void”类型
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3393) : error C2495: “ExitProcess”:“__declspec(noreturn)”只能应用于函数声明或定义
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3393) : error C2491: “ExitProcess”: 不允许 dllimport 数据 的定义
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3393) : error C2059: 语法错误 : “)”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3400) : error C2061: 语法错误 : 标识符“UINT”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3975) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3975) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3978) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3982) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3982) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3985) : error C2146: 语法错误 : 缺少“)”(在标识符“uMode”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3985) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3985) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(3985) : error C2059: 语法错误 : “)”
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(4327) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(4327) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(4330) : error C2146: 语法错误 : 缺少“)”(在标识符“uNumber”的前面)
    1>c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(4330) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
      

  4.   

    我用你的代码可以编译通过
    不过你得create函数写的有问题
    创建窗口失败
      

  5.   


    你用VS2008??你是不是先创建一个空项目,然后设置项目属性(在静态中使用MFC),最后编译通过了?如果是这样的话,那就只有两种可能,一是我的VS感冒了,二是VS某项设置有问题。别具啊,被个这样的问题卡死~~
      

  6.   

    哈哈解决了,是UINT没有定义我在 WinDef.h 搜索“UINT”,果然有问题:C/C++ code
    typedef int                 INT;
    //typedef unsigned int        UINT;
    typedef unsigned int        *PUINT;我一不小心把它注释了,现在把注释去掉,问题圆满解决.散分啰。
      

  7.   

    不建议 手工建立工程,应该努力使用wizard。工具做出来就是让你节省时间的,而不用则是浪费时间。弄明白工程怎么建立,对于初学者而言没有任何立刻的好处 ,反而会极大地降低你学习的效率至于你遇到的错误,有什么证据说明他们是相互包含导致的么?没有看到你在相互包含阿?