error C2143編譯錯誤
但是,我在官網的例子上沒有找到我所遇見的問題!
在此記錄一下,問題程式碼如下:
1 class testA1;
2 class workclass
3 {
4 public:
5 explicit workclass();
6 virtual ~workclass();
7 private:
8 int M_INT;
9 testA* ptmp;
10 }
單獨看這一塊,一眼就能看出問題是沒有宣告改變數testA。這樣編譯時會報錯,但是報錯的內容是這樣的\
error C2143: 語法錯誤: 缺少“;”(在“*”的前面)。在程式碼較多的情況下,就變得難以查詢問題所在。明明有些";",這個符號。
解決方案:
testA在使用時沒有包含標頭檔案的情況下進行類的宣告即可。
正確程式碼示例
1 class testA;
2 class testA1;
3 class workclass
4 {
5 public:
6 explicit workclass();
7 virtual ~workclass();
8 private:
9 int M_INT;
10 testA* ptmp;
11 }