在编写程序的时候碰到如下的错误:
e:\mc\test\testview.h(40) : error C2143: syntax error : missing ';' before '*'
e:\mc\test\testview.h(40) : error C2501: 'CNewDialog' : missing storage-class or type specifiers
e:\mc\test\testview.h(40) : error C2501: 'm_pDlg' : missing storage-class or type specifiers#include "stdafx.h"
#include "Test.h"#include "TestDoc.h"
#include "TestView.h"我在其中加入#include "NewDialog.h"
改变语句的位置就会出现以上的错误,请问是什么原因?

解决方案 »

  1.   

    stdafx.h要放在最前面,你是不是把#include "NewDialog.h"放到stdafx前面了?
      

  2.   

    你在testview.h头文件中用到CNewDialog类,#include "NewDialog.h"必须在m_pDlg定义之前,也可以在testview.h写上:class CNewDialog;就行。要么就把#include "NewDialog.h"写入testview.h中。
      

  3.   

    #include头文件的顺序搞错了。调整一下先:)
      

  4.   

    如 stonespace(stonespace)所说,只须在testview.h中写上:
    class CNewDialog; 就OK了