一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

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 }

 

posted on 2024-03-14 19:49  一杯清酒邀明月  阅读(336)  评论(0编辑  收藏  举报