error C2143: syntax error : missing ';' before '*.... 解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zgj289563749/article/details/20465283
今天写了一个MFC程序,编译的时候出现了下面的错误:
error    C2143:    syntax    error    :    missing    ';'    before    '*....
error    C2501:    'CMyDoc'    :    missing    storage-class    or    type    specifiers   
error    C2501:    'GetDocument'    :    missing    storage-class    or    type    specifiers   

百度了一下,才发现原来是头文件的包含顺序错误了。
在任何cpp文件的开头都按这样的顺序Include:   
   #include    "XXXDoc.h"   
   #include    "XXXView.h"   
   #include    "MainFrm.h"   
  
 注意,Doc的头文件一定要在最前面。这样你的CDemoView和CMyView也可以共享一个CDemoDoc。   
   一般在Cpp中包含文件是要注意类的包含关系,被包含的类定义应该在前面。如果实在有冲突,可以在一个类的头文件中加:class    CXXXDoc;之类的空定义。这样定义过的头文件中可以用CXXXDoc申明指针,但是不能申明实际对象。  

猜你喜欢

转载自blog.csdn.net/zgj289563749/article/details/20465283