VS2012 “XXXXX”:未声明的标识符
最近做demo遇到奇葩的問題!兩個class不能相互通過Include包含!
不然就會發生莫名其妙的錯誤!
class one: #include "EnemyComponent.h" class HelloWorld class two: #include "HelloWorld.h" class EnemyComponent 只會在編譯的時候報錯,搞了很久沒有發現問題……!
1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\proj.win32\helloworldscene.h(21): error C2065: “EnemyComponent”: 未声明的标识符 (..\Classes\EnemyComponent.cpp) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\proj.win32\helloworldscene.h(21): error C2059: 语法错误:“>” (..\Classes\EnemyComponent.cpp) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\proj.win32\helloworldscene.h(29): error C2143: 语法错误 : 缺少“;”(在“{”的前面) (..\Classes\EnemyComponent.cpp) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\proj.win32\helloworldscene.h(30): error C2143: 语法错误 : 缺少“;”(在“}”的前面) (..\Classes\EnemyComponent.cpp) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.h(11): error C2143: 语法错误 : 缺少“;”(在“{”的前面) (..\Classes\EnemyComponent.cpp) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.h(21): error C2143: 语法错误 : 缺少“;”(在“}”的前面) (..\Classes\EnemyComponent.cpp) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(4): error C2653: “EnemyComponent”: 不是类或命名空间名称 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(5): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(12): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(14): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(20): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(22): error C2653: “EnemyComponent”: 不是类或命名空间名称 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(23): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(25): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(26): error C2355: “this”: 只能在非静态成员函数的内部引用 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(29): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(34): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(38): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(41): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(44): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(46): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(49): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(50): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(51): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>f:\pro\game.cocos2dx\cocos2dxpro\defendradish\classes\enemycomponent.cpp(51): fatal error C1004: 发现意外的文件尾
前車之鑒啊,後者謹記!ps:這種錯誤只會在編譯的時候報錯,代碼無錯(無發紅標記)。

浙公网安备 33010602011771号