源代码如下:
#ifndef MFC_H
#define MFC_H
#include<iostream>
//#include"StdAfx.h"
#include"MFC.H"
#define MFC_H
#include<iostream>
//#include"StdAfx.h"
#include"MFC.H"
using namespace std;
class CObject
{
public:
CObject::CObject(){cout<<"CObject Constructor \n";}
CObject::~CObject(){cout<<"CObject Destructor \n";}
};
{
public:
CObject::CObject(){cout<<"CObject Constructor \n";}
CObject::~CObject(){cout<<"CObject Destructor \n";}
};
class CCmdTarget:public CObject
{
public:
CCmdTarget::CCmdTarget(){cout<<"CCmdTarget Constructor \n";}
CCmdTarget::~CCmdTarget(){cout<<"CCmdTarget Destructor\n";}
{
public:
CCmdTarget::CCmdTarget(){cout<<"CCmdTarget Constructor \n";}
CCmdTarget::~CCmdTarget(){cout<<"CCmdTarget Destructor\n";}
};
class CWinThread:public CCmdTarget
{
public:
CWinThread::CWinThread(){cout<<"CWinTread Constructor \n";}
CWinThread::~CWinThread(){cout<<"CWinTread Destructor\n";}
{
public:
CWinThread::CWinThread(){cout<<"CWinTread Constructor \n";}
CWinThread::~CWinThread(){cout<<"CWinTread Destructor\n";}
public:
virtual InitInstance()
{
cout<<"CWinTread::InitInstance \n";
return 1;
}
virtual int Run()
{
cout<<"CWinThread::Run \n";
return 1;
}
};
#define BOOL int
#define TRUE 1
#define FALSE 0
class CWinApp:public CWinThread
{
public:
CWinApp::CWinApp(){cout<<"CWinApp Constructot\n"; m_pCurrentWinApp=this;}
CWinApp::~CWinApp(){cout<<"CWinApp Destructor \n";}
public:
CWinApp* m_pCurrentWinApp;
CWnd* m_pMainWnd;
virtual InitInstance()
{
cout<<"CWinTread::InitInstance \n";
return 1;
}
virtual int Run()
{
cout<<"CWinThread::Run \n";
return 1;
}
};
#define BOOL int
#define TRUE 1
#define FALSE 0
class CWinApp:public CWinThread
{
public:
CWinApp::CWinApp(){cout<<"CWinApp Constructot\n"; m_pCurrentWinApp=this;}
CWinApp::~CWinApp(){cout<<"CWinApp Destructor \n";}
public:
CWinApp* m_pCurrentWinApp;
CWnd* m_pMainWnd;
public:
virtual BOOL InitApplication()
{
cout<<"CWinApp::InitApplication \n";
return 1;
}
{
cout<<"CWinApp::InitApplication \n";
return 1;
}
virtual BOOL InitInstance()
{
cout<<"CWinApp::InitInstance \n";
return 1;
{
cout<<"CWinApp::InitInstance \n";
return 1;
}
virtual int Run()
{
cout<<"CWinApp::Run \n";
return CWinThread::Run();
{
cout<<"CWinApp::Run \n";
return CWinThread::Run();
}
};
};
class CDocument:public CCmdTarget
{
public:
CDocument::CDocument(){ cout<<"CDocument Constructot \n";}
CDocument::~CDocument(){ cout<<"CDocument Destructor \n";}
};
{
public:
CDocument::CDocument(){ cout<<"CDocument Constructot \n";}
CDocument::~CDocument(){ cout<<"CDocument Destructor \n";}
};
class CWnd:public CCmdTarget
{
public:
CWnd::CWnd(){ cout<<"CWnd Constructor \n";}
CWnd::~CWnd(){ cout<<"CWnd Destructot \n";}
{
public:
CWnd::CWnd(){ cout<<"CWnd Constructor \n";}
CWnd::~CWnd(){ cout<<"CWnd Destructot \n";}
//add
public:
virtual BOOL Create();
BOOL CreateEx();
virtual BOOL PreCreateWindow();
public:
virtual BOOL Create();
BOOL CreateEx();
virtual BOOL PreCreateWindow();
public:
CWnd* m_pMainWnd;
};
CWnd* m_pMainWnd;
};
class CFrameWnd:public CWnd
{
public:
CFrameWnd::CFrameWnd(){ cout<<"CFrameWnd Constructor \n";}
CFrameWnd::~CFrameWnd(){ cout<<"CFrameWnd Destructor \n";}
{
public:
CFrameWnd::CFrameWnd(){ cout<<"CFrameWnd Constructor \n";}
CFrameWnd::~CFrameWnd(){ cout<<"CFrameWnd Destructor \n";}
//add
BOOL Create();
virtual BOOL PreCreateWindow();
BOOL Create();
virtual BOOL PreCreateWindow();
};
class CView:public CWnd
{
public:
CView::CView(){ cout<<"CView Constructot \n";}
CView::~CView(){ cout<<"CView Destructor \n";}
};
{
public:
CView::CView(){ cout<<"CView Constructot \n";}
CView::~CView(){ cout<<"CView Destructor \n";}
};
//globle function
CWinApp* AfxGetApp();
#endif
CWinApp* AfxGetApp();
#endif
出现如下的错误
不知道问题在哪里
d:\codes\mode\frame2\mfc.h(54) : error C2143: syntax error : missing ';' before '*'
d:\codes\mode\frame2\mfc.h(54) : error C2501: 'CWnd' : missing storage-class or type specifiers
d:\codes\mode\frame2\mfc.h(54) : error C2501: 'm_pMainWnd' : missing storage-class or type specifiers
d:\codes\mode\frame2\my.cpp(21) : error C2065: 'm_pMainWnd' : undeclared identifier
d:\codes\mode\frame2\my.cpp(21) : error C2440: '=' : cannot convert from 'class CMyFrameWnd *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
d:\codes\mode\frame2\mfc.h(54) : error C2501: 'CWnd' : missing storage-class or type specifiers
d:\codes\mode\frame2\mfc.h(54) : error C2501: 'm_pMainWnd' : missing storage-class or type specifiers
d:\codes\mode\frame2\my.cpp(21) : error C2065: 'm_pMainWnd' : undeclared identifier
d:\codes\mode\frame2\my.cpp(21) : error C2440: '=' : cannot convert from 'class CMyFrameWnd *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
高手指点下!!
转载于:https://blog.51cto.com/siwei1987/204888