在框架类(CMainFrame)中包含视图类(CView)的头文件出错的解决之道

在MainFrame.cpp中 #include"MyView.h"会出错:

error C2143: syntax error : missing ';' before '*'
error C2501: 'CISearchDoc' : missing storage-class or type specifiers
error C2501: 'GetDocument' : missing storage-class or type specifiers

第一感觉,真是奇了怪了,什么都没做,怎么会错呢?

其实,还是理解问题,视图类与文档类是成对使用的,因此在调用视图类时,必要调用相应的文档类,虽然表面上看不出来,但程序里面确实需要的。因此解决的办法也很简单:

在 #include"MyView.h" 之前 #include"MyDoc.h"

即在包含视图类头文件时要先包含文档类的头文件。这种包含头文件的顺序在MFC中是比较严格的,大家要注意,并要深入了解MFC的体系结构。。。

你可能感兴趣的:(c,框架,文档,mfc)