【发布时间】:2011-08-25 03:27:35
【问题描述】:
我对以下代码有疑问:
template <typename T>
void foo(struct bar & b);
struct bar {};
int main(){}
它在 GCC 上编译成功,但在 MSVC (2008) 上编译失败并出现以下错误:
C2990: 'bar' : non-class type as already been declared as a class type
是代码错误还是 MSVC 中的错误?
如果我在模板定义之前添加struct bar; 就可以了。
【问题讨论】:
-
VC++ 2010 也失败了。天哪,用于 C++ 开发 VS 的 IDE 变得多么糟糕!
标签: c++ templates visual-c++