当缺少结构定义时,我有点困惑auto在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 它就像一个魅力。