以下代码在 Visual C++ 2010 下编译良好,但在 Android NDK r8b 的 GCC 4.6 下编译不正常。
template<typename A>
struct foo
{
template<typename B>
B method()
{
return B();
}
};
template<typename A>
struct bar
{
bar()
{
f_.method<int>(); // error here
}
private:
foo<A> f_;
};
GCC给出的错误是
error : expected primary-expression before 'int'
error : expected ';' before 'int'
为标记线。对于我的生活,我无法弄清楚什么是错的。