C++ error C2143: 語法錯誤: 缺少“;”(在“*”的前面)

一杯清酒邀明月發表於2024-03-14

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 }

相關文章