⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_61706.htm

📁 vc
💻 HTM
字号:
<p>
序号:61706 发表者:菜的嗷嗷直哭 发表日期:2003-11-21 11:03:37
<br>主题:添加新类出现错误
<br>内容:我在工程里CMyExamDoc.h文件下添了一个CMyLine的新类,编译错误提示为“'CMyline' : is not a class or namespace name”,代码如下:<BR><BR>// MyExamDoc.h : interface of the CMyExamDoc class<BR>//<BR>/////////////////////////////////////////////////////////////////////////////<BR><BR>#if !defined(AFX_MYEXAMDOC_H__E5C3EDCF_0DA8_4EB9_8189_6476195A0295__INCLUDED_)<BR>#define AFX_MYEXAMDOC_H__E5C3EDCF_0DA8_4EB9_8189_6476195A0295__INCLUDED_<BR><BR>#if _MSC_VER &gt; 1000<BR>#pragma once<BR>#endif // _MSC_VER &gt; 1000<BR><BR>//此处为我添加的新类<BR><BR>class CMyLine :public CObject<BR>{<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;int m_StartX;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int m_StartY;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int m_EndX;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int m_EndY;<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CObArray m_ObArray;<BR> public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void AddLine(int StartX,int StartY,int EndX,int EndY);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CMyLine *GetLine(int index);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int GetTotalLine();<BR><BR><BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CMyline(int StartX,int StartY,int EndX,int EndY);<BR>&nbsp;&nbsp;&nbsp;&nbsp;void DrawLine(CDC *pDC);<BR>};<BR><BR><BR><BR><BR>class CMyExamDoc : public CDocument<BR>{<BR>protected: // create from serialization only<BR>&nbsp;&nbsp;&nbsp;&nbsp;CMyExamDoc();<BR>&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_DYNCREATE(CMyExamDoc)<BR><BR>// Attributes<BR>public:<BR><BR>// Operations<BR>public:<BR><BR>// Overrides<BR>&nbsp;&nbsp;&nbsp;&nbsp;// ClassWizard generated virtual function overrides<BR>&nbsp;&nbsp;&nbsp;&nbsp;//{{AFX_VIRTUAL(CMyExamDoc)<BR>&nbsp;&nbsp;&nbsp;&nbsp;public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual BOOL OnNewDocument();<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void Serialize(CArchive&amp; ar);<BR>&nbsp;&nbsp;&nbsp;&nbsp;//}}AFX_VIRTUAL<BR><BR>// Implementation<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual ~CMyExamDoc();<BR>#ifdef _DEBUG<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void AssertValid() const;<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void Dump(CDumpContext&amp; dc) const;<BR>#endif<BR><BR>protected:<BR><BR>// Generated message map functions<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;//{{AFX_MSG(CMyExamDoc)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// NOTE - the ClassWizard will add and remove member functions here.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;DO NOT EDIT what you see in these blocks of generated code !<BR>&nbsp;&nbsp;&nbsp;&nbsp;//}}AFX_MSG<BR>&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_MESSAGE_MAP()<BR>};<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR><BR>//{{AFX_INSERT_LOCATION}}<BR>// Microsoft Visual C++ will insert additional declarations immediately before the previous line.<BR><BR>#endif // !defined(AFX_MYEXAMDOC_H__E5C3EDCF_0DA8_4EB9_8189_6476195A0295__INCLUDED_)<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:VChen 回复日期:2003-11-21 11:07:06
<br>内容:头文件加了吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-21 11:12:16
<br>内容:我直接在CMyExamDoc.h添加新类,错误地方在CMyExamDoc.cpp中,也就是说我在该文件下用到我添加的新类MyLine事,却出现该类无效的错误提示!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:VChen 回复日期:2003-11-21 11:14:10
<br>内容:在CMyExamDoc.cpp的头文件声明处加入#include &#34;MyLine.h&#34;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-21 11:14:43
<br>内容:#include &lt;afxcoll.h&gt;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-21 11:27:53
<br>内容:我试试
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-21 11:36:24
<br>内容:实在抱歉,刚才我笔误,把CMyLine写成了CMyline了现在可以了,我在CMyDrawView::OnLButtonUp中添加如下代码有新错误:<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CView::OnLButtonUp(nFlags, point);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_Draw=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ReleaseCapture();<BR>&nbsp;&nbsp;&nbsp;&nbsp;ClipCursor(NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CMyExamDoc *pDoc=GetDocument();<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDoc-&gt;AddLine(m_pOrigin.x,m_pOrigin.y,point.x,point.y);<BR>&nbsp;&nbsp;&nbsp;&nbsp;D:\vc\MSDev98\MyProjects\MyExam\MyExamView.cpp(171) : errorC2039: 'AddLine' : is not a member of 'CMyExamDoc'<BR>该类<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-21 11:38:48
<br>内容:我吃饭先,哈哈!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-21 11:41:24
<br>内容:AddLine()不是CMyExamDoc的函数,而是CMyline的函数,肯定不能通过doc来调它了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-21 11:45:14
<br>内容:那我怎么调用啊,这样行吗?AddLine(m_pOrigin.x,m_pOrigin.y,point.x,point.y);<BR>它是在试图下面啊,是不是文档中的成员它才能调用的?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:浪际天涯 回复日期:2003-11-21 11:50:07
<br>内容:如果一定要通过文档类调用的话就在文档类中加一个CMyLine的对象<BR>比如:<BR>在CMyExamDoc中加入<BR>CMyline m_line;<BR>然后调用的地方:<BR>pDoc-&gt;m_line.AddLine(....);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-21 12:03:49
<br>内容:我照你的做了,链接是出现:D:\vc\MSDev98\MyProjects\MyExam\MyExamDoc.cpp(31) : error C2512: 'CMyLine' : no appropriate default constructor available<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-22 09:24:47
<br>内容:你是在什么地方调用的?在前面再加上class CMyline;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜的嗷嗷直哭 回复日期:2003-11-25 09:48:57
<br>内容:为了简单起见,我把该函数放在了CMyExamDoc类中的,结果通过了
<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 + -