2012-02-01 73 views
0

我有點困惑汽車不能在gcc當有一個結構定義丟失。例如: -當結構定義丟失時自動不工作

0 struct foo; 
1 typedef struct foo foo; 
2 int test(foo* pFoo); 
3 foo* pEvent = nullptr; 
4 const auto var = test(pEvent); 

凡第4行的編譯器抱怨說,它不能確定什麼VAR是。由於測試是宣佈我認爲,它應該是一塊蛋糕。我錯過了什麼,或者這是gcc實現中的錯誤?

編輯:

對不起,我的壞。該工具鏈使用古代/越野車gcc 4.4。強制它使用4.6它就像一個魅力。

+0

你跟編譯'-std = GNU ++ 0x'或'-std = C++ 0x'? – rodrigo 2012-02-01 11:12:24

+2

在C++中,你不需要第1行。'struct foo;'足夠。 – Asaf 2012-02-01 11:18:20

+0

@Asaf我知道,它與我使用的C頭相似。 – abergmeier 2012-02-01 11:45:49

回答