在VC程式設計遇到了一個奇怪的問題。我建了一個對話框工程,首先是用ClassWizard給對話框類添加了一些對應編輯框的CString變量,通過手動添加了另外一些變量,接着我準備利用ClassWizard添加一些消息函數,突然彈出一個警告對話框,如下圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuI3byJXRn5WazJXYQ9CXxATMyVmdlx2YvwFdl52XuR2cj91ZvxmYfB3LcNXZnFWbp9CX0Vmbu4GZzNmLn9Gbi5Ccvw1LcpDc0RHaiojIsJye.gif)
我很納悶:我又沒有編譯運作,怎麼會有警告框呢?既然警告框提示了我添加的變量,我以為是少了;之類的錯誤,結果卻不是。于是我編譯運作,運作結果正确。但是我一打開
ClassWizard,就總是彈出這個警告框。突然我發現我手動添加的變量的字型顔色和我以前添加的變量的字型顔色不一樣(因為我裝了VC助手的緣故)。如下圖所示的student stu[2];(光标所在行)
我想是不是這個緣故呢,于是我另外加了一個public标志,把手動添加的student stu[2];添加到下面,如下圖所示(光标所在行):
結果打開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;