📄 subject_59417.htm
字号:
<p>
序号:59417 发表者:菜的嗷嗷直哭 发表日期:2003-11-07 16:38:06
<br>主题:错在那啊
<br>内容:我在写一个弹球的程序出错部分实例如下,请问下面的问题出在哪?<BR><BR>// CBounceDoc document<BR><BR>class CBounceDoc : public CDocument<BR>{<BR>protected:<BR> CBounceDoc(); // protected constructor used by dynamic creation<BR> DECLARE_DYNCREATE(CBounceDoc)<BR><BR>// Attributes<BR>public:<BR><BR>// Operations<BR>public:<BR><BR>// Overrides<BR> // ClassWizard generated virtual function overrides<BR> //{{AFX_VIRTUAL(CBounceDoc)<BR> public:<BR> virtual void Serialize(CArchive& ar); // overridden for document i/o<BR> protected:<BR> virtual BOOL OnNewDocument();<BR> //}}AFX_VIRTUAL<BR><BR>// Implementation<BR>public:<BR> BOOL m_bFastSpeed,m_bBlack,m_bWhite,m_baBlue,m_bRed,m_bCustom,m_bGreen;<BR> COLORREF m_clrBall;<BR> CPoint m_ptPixel,m_ptCenter;<BR> CSize m_sizeRadius,m_sizeMove,m_sizeTotal;<BR> CBitmap m_bmBall;<BR> void SetCustomBallColor(CSize radius);<BR> void SetBallRadius(COLORREF clr);<BR> void ClearAllColors();<BR> virtual ~CBounceDoc();<BR>#ifdef _DEBUG<BR> virtual void AssertValid() const;<BR> virtual void Dump(CDumpContext& dc) const;<BR>#endif<BR><BR> // Generated message map functions<BR>protected:<BR> //{{AFX_MSG(CBounceDoc)<BR> // NOTE - the ClassWizard will add and remove member functions here.<BR> //}}AFX_MSG<BR> DECLARE_MESSAGE_MAP()<BR>};<BR><BR>//{{AFX_INSERT_LOCATION}}<BR>// Microsoft Visual C++ will insert additional declarations immediately before the previous line.<BR><BR>#endif // !defined(AFX_BOUNCEDOC_H__3E6675A3_6E10_4949_B710_4D1209A44B7E__INCLUDED_)<BR>#include "stdafx.h"<BR>#include "MDI.h"<BR>#include "BncVw.h"<BR><BR>#ifdef _DEBUG<BR>#define new DEBUG_NEW<BR>#undef THIS_FILE<BR>static char THIS_FILE[] = __FILE__;<BR>#endif<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CBounceView<BR><BR>IMPLEMENT_DYNCREATE(CBounceView, CView)<BR><BR>CBounceView::CBounceView()<BR>{<BR>}<BR><BR>CBounceView::~CBounceView()<BR>{<BR>}<BR><BR><BR>BEGIN_MESSAGE_MAP(CBounceView, CView)<BR> //{{AFX_MSG_MAP(CBounceView)<BR> ON_COMMAND(ID_BLACK, OnColor)<BR> ON_COMMAND(ID_BLUE, OnColor)<BR> ON_UPDATE_COMMAND_UI(ID_BLACK, OnUpdateBlack)<BR> ON_UPDATE_COMMAND_UI(ID_BLUE, OnUpdateBlue)<BR> ON_COMMAND(ID_GREEN, OnColor)<BR> ON_UPDATE_COMMAND_UI(ID_GREEN, OnUpdateGreen)<BR> ON_COMMAND(ID_RED, OnColor)<BR> ON_UPDATE_COMMAND_UI(ID_RED, OnUpdateRed)<BR> ON_COMMAND(ID_WHITE, OnColor)<BR> ON_UPDATE_COMMAND_UI(ID_WHITE, OnUpdateWhite)<BR> ON_COMMAND(ID_CUSTOM, OnCustomColor)<BR> ON_UPDATE_COMMAND_UI(ID_CUSTOM, OnUpdateCustom)<BR> ON_COMMAND(ID_SPEED_FAST, OnFast)<BR> ON_UPDATE_COMMAND_UI(ID_SPEED_FAST, OnUpdateFast)<BR> ON_COMMAND(ID_SPEED_SLOW, OnSlow)<BR> ON_UPDATE_COMMAND_UI(ID_SPEED_SLOW, OnUpdateSlow)<BR> ON_WM_CREATE()<BR> ON_WM_SIZE()<BR> ON_WM_TIMER()<BR> //}}AFX_MSG_MAP<BR>END_MESSAGE_MAP()<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CBounceView drawing<BR><BR>void CBounceView::OnDraw(CDC* pDC)<BR>{<BR> CDocument *pDoc = GetDocument();<BR> // TODO: add draw code here<BR>}<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CBounceView diagnostics<BR><BR>#ifdef _DEBUG<BR>void CBounceView::AssertValid() const<BR>{<BR> CView::AssertValid();<BR>}<BR><BR>void CBounceView::Dump(CDumpContext& dc) const<BR>{<BR> CView::Dump(dc);<BR>}<BR>#endif //_DEBUG<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CBounceView message handlers<BR><BR>void CBounceView::OnColor() <BR>{<BR> // TODO: Add your command handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateBlack(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateBlue(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateGreen(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateRed(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateWhite(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnCustomColor() <BR>{<BR> // TODO: Add your command handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateCustom(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnFast() <BR>{<BR> // TODO: Add your command handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateFast(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>void CBounceView::OnSlow() <BR>{<BR> // TODO: Add your command handler code here<BR> <BR>}<BR><BR>void CBounceView::OnUpdateSlow(CCmdUI* pCmdUI) <BR>{<BR> // TODO: Add your command update UI handler code here<BR> <BR>}<BR><BR>int CBounceView::OnCreate(LPCREATESTRUCT lpCreateStruct) <BR>{<BR> if (CView::OnCreate(lpCreateStruct) == -1)<BR> return -1;<BR> <BR> // TODO: Add your specialized creation code here<BR> <BR> return 0;<BR>}<BR><BR>void CBounceView::OnInitialUpdate() <BR>{<BR> CView::OnInitialUpdate();<BR> <BR> // TODO: Add your specialized code here and/or call the base class<BR> <BR>}<BR><BR>void CBounceView::OnSize(UINT nType, int cx, int cy) <BR>{<BR> CView::OnSize(nType, cx, cy);<BR> <BR> // TODO: Add your message handler code here<BR> <BR>}<BR><BR>void CBounceView::OnTimer(UINT nIDEvent) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> <BR> CView::OnTimer(nIDEvent);<BR>}<BR><BR>BOOL CBounceView::PreCreateWindow(CREATESTRUCT& cs) <BR>{<BR> // TODO: Add your specialized code here and/or call the base class<BR> <BR> return CView::PreCreateWindow(cs);<BR>}<BR><BR>void CBounceView::ChangeSpeed()<BR>{<BR><BR>}<BR><BR>CBounceDoc* CBounceView::GetDocument()<BR>{<BR><BR>}<BR><BR>void CBounceView::MakeNewBall()<BR>{<BR><BR>}<BR><BR>void CBounceView::MixColors()<BR>{<BR><BR>}<BR><BR><BR>编译结果为:-------------------Configuration: MDI - Win32 Debug--------------------ompiling...<BR>BncVw.cpp<BR>d:\vc\msdev98\myprojects\mdi\bncvw.h(26) : error C2143: syntax error : missing ';' before '*'<BR>d:\vc\msdev98\myprojects\mdi\bncvw.h(26) : error C2501: 'CBounceDoc' : missing storage-class or type specifiers<BR>d:\vc\msdev98\myprojects\mdi\bncvw.h(26) : error C2501: 'GetDocument' : missing storage-class or type specifiers<BR>D:\vc\MSDev98\MyProjects\MDI\BncVw.cpp(57) : error C2440: 'initializing' : cannot convert from 'int *' to 'class CDocument *'<BR> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast<BR>D:\vc\MSDev98\MyProjects\MDI\BncVw.cpp(196) : error C2143: syntax error : missing ';' before '*'<BR>D:\vc\MSDev98\MyProjects\MDI\BncVw.cpp(196) : error C2501: 'CBounceDoc' : missing storage-class or type specifiers<BR>D:\vc\MSDev98\MyProjects\MDI\BncVw.cpp(197) : error C2501: 'GetDocument' : missing storage-class or type specifiers<BR>BounceDoc.cpp<BR>D:\vc\MSDev98\MyProjects\MDI\BounceDoc.cpp(80) : error C2511: 'SetBallRadius' : overloaded member function 'void (class CSize)' not found in 'CBounceDoc'<BR> d:\vc\msdev98\myprojects\mdi\bouncedoc.h(13) : see declaration of 'CBounceDoc'<BR>D:\vc\MSDev98\MyProjects\MDI\BounceDoc.cpp(85) : error C2511: 'SetCustomBallColor' : overloaded member function 'void (unsigned long)' not found in 'CBounceDoc'<BR> d:\vc\msdev98\myprojects\mdi\bouncedoc.h(13) : see declaration of 'CBounceDoc'<BR>Generating Code...<BR>Error executing cl.exe.<BR><BR>MDI.exe - 9 error(s), 0 warning(s)<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:浪际天涯 回复日期:2003-11-07 16:57:49
<br>内容:view的.h中加入class CCBounceDoc;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -