|
error C2143: syntax error : missing ';' before '*'
解決方法1是: 解決方法2是:
是在自己要使用的View類的.cpp文件
具體的,可以拿三峽(周達(dá)超編的)應(yīng)用程序來(lái)說明~~
CPlatformGL這個(gè)類中,要用到CModuleGL這個(gè)類,
CModuleGL這個(gè)類,也要用到CPlatformGL這個(gè)類, 如果正常的在頭文件交叉包含的話,很容易出現(xiàn)上面描述的編譯問題, 解決方法1: 在CPlatformGL這個(gè)類的頭文件中,加上#include "ModuleGL.h"
另外,還有在整個(gè)類的定義前,加上class CModuleGL; //類聲明,避免交叉定義 (我看到周達(dá)超程序還在類定義前,加上了using namespace std;//命名空間,不知道和這個(gè)有沒有關(guān)系) 同樣的, 在CModuleGL這個(gè)類的頭文件中,加上#include "PlatFormGL.h", 在類的定義前,加上class CModuleGL;
三峽程序的第二個(gè)例子~~ 在SXSystem這個(gè)類中,需要獲取視圖類CSXS_testView類的指針(即,要用到視圖類), 在視圖類中也要調(diào)用SXSystem類,如實(shí)就有下面的解決方法~~ 解決方法2: 在SXSystem類的源文件(*.cpp文件,而不是*.h)中,包含了三個(gè)文件,如下:
#include
"MainFrm.h" 而在視圖類中,只需在頭文件包含SXSystem類即可,即#include "SXSystem.h"
以上是兩種常規(guī)的解決方法,都很好用~~(用第一種較多)
|
|
|