error C2143: syntax error : missing ';' before '*'
解决方法1是: 解决方法2是:
是在自己要使用的View类的.cpp文件
具体的,可以拿三峡(周达超编的)应用程序来说明~~
CPlatformGL这个类中,要用到CModuleGL这个类,
CModuleGL这个类,也要用到CPlatformGL这个类, 如果正常的在头文件交叉包含的话,很容易出现上面描述的编译问题, 解决方法1: 在CPlatformGL这个类的头文件中,加上#include "ModuleGL.h"
另外,还有在整个类的定义前,加上class CModuleGL; //类声明,避免交叉定义 (我看到周达超程序还在类定义前,加上了using namespace std;//命名空间,不知道和这个有没有关系) 同样的, 在CModuleGL这个类的头文件中,加上#include "PlatFormGL.h", 在类的定义前,加上class CModuleGL;
三峡程序的第二个例子~~ 在SXSystem这个类中,需要获取视图类CSXS_testView类的指针(即,要用到视图类), 在视图类中也要调用SXSystem类,如实就有下面的解决方法~~ 解决方法2: 在SXSystem类的源文件(*.cpp文件,而不是*.h)中,包含了三个文件,如下:
#include
"MainFrm.h" 而在视图类中,只需在头文件包含SXSystem类即可,即#include "SXSystem.h"
以上是两种常规的解决方法,都很好用~~(用第一种较多)
|
|