第3次来麻烦高手们,看看小妹的程序!
#include "afxwin.h"
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
}
class CMainFrame:public CFrameWnd
{
CMyApp myApp;
}
BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMainFrame;
((CMainFrame*)m_pMainWnd)->Create(NULL,"The MFC Application");
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}
然后添加MFC支持,选择"Use MFC in a Static Library",最后Ttrl+F5
结果给我102个错误.那位帮忙解决一下!?
问题点数:1、回复次数:10Top
1 楼masterjames(三月街)回复于 2002-02-17 21:07:07 得分 0
afxwin.h"
Top
2 楼vcfor( )回复于 2002-02-17 21:09:32 得分 1
CMyApp myApp;
提外面来,它是全局的Top
3 楼vcfor( )回复于 2002-02-17 21:11:12 得分 0
不行,我的话不能听,才一个三角星Top
4 楼swordbroken(断剑书生)回复于 2002-02-17 21:20:29 得分 0
把错误信息贴出来看看Top
5 楼lifanxi(Byron)回复于 2002-02-17 21:30:43 得分 0
一般来说选Using MFC as shared DLL就可以了。
在你的Class{}的右括号后面加上;编译就可以通过了,不过运行通不过。
你的程序结构本身好像有问题。你再查查吧。Top
6 楼lifanxi(Byron)回复于 2002-02-17 21:32:47 得分 0
这是一个正确的最简单的MFC的例程结构。
#include <afxwin.h>
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance ();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow ();
};
CMyApp myApp;
BOOL CMyApp::InitInstance ()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow (m_nCmdShow);
m_pMainWnd->UpdateWindow ();
return TRUE;
}
CMainWindow::CMainWindow ()
{
Create (NULL, _T ("The Hello Application"));
}Top
7 楼nikki(nikki)回复于 2002-02-17 21:36:09 得分 0
--------------------Configuration: Application - Win32 Debug--------------------
Compiling...
Application.cpp
D:\图片\Application\Application.cpp(8) : error C2236: unexpected 'class' 'CMainFrame'
D:\图片\Application\Application.cpp(8) : error C2143: syntax error : missing ';' before ':'
D:\图片\Application\Application.cpp(8) : error C2143: syntax error : missing ';' before ':'
D:\图片\Application\Application.cpp(8) : error C2143: syntax error : missing ';' before 'public'
D:\图片\Application\Application.cpp(9) : error C2143: syntax error : missing ';' before '{'
D:\图片\Application\Application.cpp(9) : error C2447: missing function header (old-style formal list?)
D:\图片\Application\Application.cpp(15) : error C2061: syntax error : identifier 'CMainFrame'
D:\图片\Application\Application.cpp(16) : error C2065: 'CMainFrame' : undeclared identifier
D:\图片\Application\Application.cpp(16) : error C2059: syntax error : ')'
D:\图片\Application\Application.cpp(19) : error C2143: syntax error : missing ';' before '}'
......
D:\图片\Application\Application.cpp(19) : error C2143: syntax error : missing ';' before '}'
D:\图片\Application\Application.cpp(19) : fatal error C1003: error count exceeds 100; stopping compilation
Error executing cl.exe.
Application.exe - 102 error(s), 0 warning(s)Top
8 楼lifanxi(Byron)回复于 2002-02-17 21:39:18 得分 0
呵呵,我没有仔细看你的程序。
其实你只要把CMyApp myapp;提到类声明的外面(因为它应该是全局的).
然后在每个类的定义后面的}后加上;就可以正常编译运行了。Top
9 楼chehw(chehw)回复于 2002-02-17 21:42:01 得分 0
1.类声明后面少了分号;
2.别把CMyApp myApp放在CMainFrame里;
3.没事儿别瞎改程序。
Top
10 楼nikki(nikki)回复于 2002-02-17 21:50:32 得分 0
呵呵.诸位说的都对,其实偶也不是没事乱改程序玩.全是一本破书给害的.净为他改错了!分数给了第一个说"全局"的大哥!Top




