编译中遇到的错误,求助!

kimkorj 2012-03-26 09:50:57
h文件
public:
CClientConsoleView* m_pAppView;
CClientConsoleView* GetMainView(void);

cpp文件
CClientConsoleView* CMainFrame::GetMainView(void)
{
if(m_pAppView !=NULL ) return m_pAppView;
CView* pWnd=GetActiveView();
if(pWnd->GetSafeHwnd()==NULL) return NULL;
CClientConsoleView* pView = DYNAMIC_DOWNCAST(CClientConsoleView, pWnd);
return pView;
//return NULL;
}

output
1>c:\documents and settings\administrator\桌面\文献\clientconsole\clientconsole\mainfrm.h(49): error C2143: syntax error : missing ';' before '*'
1>c:\documents and settings\administrator\桌面\文献\clientconsole\clientconsole\mainfrm.h(50): error C2143: syntax error : missing ';' before '*'
1>c:\documents and settings\administrator\桌面\文献\clientconsole\clientconsole\mainfrm.h(50): warning C4183: 'GetMainView': missing return type; assumed to be a member function returning 'int'
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimkorj 2012-03-26
  • 打赏
  • 举报
回复
谢谢,heksn!的确是这个问题!一般什么情况下要提前声明一下呢?之前看别人的程序也有这样声明的,就是自己编程不知道什么时候用。。。请给位大神指点。。
lyswwr 2012-03-26
  • 打赏
  • 举报
回复
这个一般是头文件的问题,cpp源文件没问题的,自己找一下头文件,就可以发现了
  • 打赏
  • 举报
回复
在MainFrame.h的开始处添加 class CClientConsoleView; 提前声明一下
kimkorj 2012-03-26
  • 打赏
  • 举报
回复
刚才的确注意了一下这个问题,我再仔细查一遍,谢谢你~
Tinary3v0 2012-03-26
  • 打赏
  • 举报
回复
文档视图类相互引用头文件时经常发生的报错问题。 你把各个文件的#include内容排排序,就知道了。
框架中要用View所以要包含view.h view中要使用CMainFrame要包含MainFrame.h,这种相互包含容易造成上面的问题。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧