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:這種錯誤只會在編譯的時候報錯,代碼無錯(無發紅標記)。

posted @ 2014-10-30 14:56  richliu1023  阅读(905)  评论(0)    收藏  举报