ParsingError问题的解决

         

    在VC编程遇到了一个奇怪的问题。我建了一个对话框工程,首先是用ClassWizard给对话框类添加了一些对应编辑框的CString变量,通过手动添加了另外一些变量,接着我准备利用ClassWizard添加一些消息函数,突然弹出一个警告对话框,如下图:

ParsingError问题的解决_第1张图片

    我很纳闷:我又没有编译运行,怎么会有警告框呢?既然警告框提示了我添加的变量,我以为是少了;之类的错误,结果却不是。于是我编译运行,运行结果正确。但是我一打开

ClassWizard,就总是弹出这个警告框。突然我发现我手动添加的变量的字体颜色和我以前添加的变量的字体颜色不一样(因为我装了VC助手的缘故)。如下图所示的student  stu[2];(光标所在行)

ParsingError问题的解决_第2张图片

   

 

 

    我想是不是这个缘故呢,于是我另外加了一个public标志,把手动添加的student  stu[2];添加到下面,如下图所示(光标所在行):

ParsingError问题的解决_第3张图片

 结果打开ClassWizard真的没有了这个警告框。我思考了一会,自认找到了问题的根源:

原因在于在

/*带有这个AFX_DATA是利用ClassWizard添加的,和对话框的编辑矿等控件有着映射关系*/

       //{{AFX_DATA(CTestWriteDlg)

       enum { IDD = IDD_TESTWRITE_DIALOG };

       int           m_ID1;

       int           m_ID2;

       CString   m_strName1;

       CString   m_strName2;

       int           m_nAge1;

       int           m_nAge2;

   //}}AFX_DATA

student  stu[2];是手动添加的,把它加到//{{AFX_DATA(CTestWriteDlg)//}}AFX_DATA之间,ClassWizard无法识别,所以弹出那个警告对话框。因此要避免这个问题就不要将手动添加的变量放到//{{AFX_DATA(CTestWriteDlg)//}}AFX_DATA之间。

 

你可能感兴趣的:(Visual,C++)