📄 subject_14877.htm
字号:
<p>
序号:14877 发表者:尼尼 发表日期:2002-09-12 11:19:34
<br>主题:静态成员函数里能不能使用视图变量?
<br>内容:mainfrm.cpp程序如下:<BR>#include "TestView.h"<BR>#include "TestDoc.h"<BR><BR>static函数中有如下代码:<BR>CMainFrame *pFrame =(CMainFrame *)AfxGetApp()->m_pMainWnd;<BR>CTestView *pView = (CTestView *)pFrame->GetActiveView();<BR>CTestDoc* pDoc =pView->GetDocument();<BR><BR>编译报错:<BR>F:\Test\TestView.h(21) : error C2143: syntax error : missing ';' before '*'<BR>F:\Temp\TestView.h(21) : error C2501: 'CTestDoc' : missing storage-class or<BR>type specifiers<BR>F:\Temp\TestView.h(21) : error C2501: 'GetDocument' : missing storage-class<BR> or type specifiers<BR>F:\Temp\MainFrm.cpp(382) : error C2440: 'initializing' : cannot convert from<BR> 'int *' to 'class CShowBmpTestDoc *' Types pointed to are unrelated;<BR>conversion requires reinterpret_cast, C-style cast or function-style cast<BR><BR>TestView.h的第21行是:<BR>public:<BR> CTestDoc* GetDocument();<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>
<font color=red>答案被接受</font><br>回复者:dongfanghong 回复日期:2002-09-12 11:32:15
<br>内容:在<BR>F:\Test\TestView.h(21) : error C2143: syntax error : missing ';' before '*'<BR>的前边会显示正在编译的文件,<BR>在该文件中<BR>#include "TestView.h"<BR>的前边加上<BR>#include "TestDoc.h"
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:尼尼 回复日期:2002-09-12 11:54:50
<br>内容:solved! 3x a lot
<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 + -