2013-01-10 70 views
1

我不斷收到錯誤Visual Studio中無法識別某些類別的

Frame mCameraFrame; 

所以很明顯我的框架類不被莫名其妙地發現。我有直接包含在這個文件中的frame.h頭文件(它定義了Frame類)。爲什麼視覺工作室不認識它?

+5

該錯誤幾乎肯定來自此行之前的代碼。例如,前面一行中缺少';'或'}'就可以做到這一點。 –

+3

如果缺少的字符在.h文件中,則特別棘手。 –

回答

3

錯誤來自以前的代碼行,可能位於頭文件中。

例如:

struct foo 
{ 
    int a; 
} 

Frame mCameraFrame; 

的通知後}失蹤;?這使Frame合法作爲結構的一個實例,但現在在mCameraFrame之前缺少;,導致您報告的錯誤種類。

編譯器不能在}之後報告丟失的;,因爲它無法知道那裏應該有一個,因爲Frame是完全合法的。

單個丟失;或丟失}導致錯誤報告比實際問題遲了許多行,有時甚至有數百個錯誤。

+0

沒有缺少分號。我一遍又一遍地搜索這些代碼。 – xcdemon05

+1

然後發佈足以複製問題的最小完整代碼示例。 (也可能是'Frame'的定義沒有包含在內。) –

+3

循環包含依賴也可能導致像這樣的問題 –

0

我想向任何感興趣的人彙報。問題是應該定義爲mCameraFrame的Frame類位於不同的命名空間中,所以我所要做的只是「使用命名空間....」。衛生署! :P