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 }