爲什麼不編譯此代碼?使用模板參數的靜態成員模板
struct A {
template <class T>
static T a(int i) { return 2*i; }
};
template <class T>
struct B {
double b;
B(): b(T::a<double>(5)) {}
};
template class B<A>;
編譯器甚至沒有達到模板實例化。我使用的是gcc 4.7.0。
test.cc: In constructor »B<T>::B()«:
test.cc:9:25: Error: expected »(« before »<« token
test.cc:9:26: Error: expected primary-expression before »double«
也許你可以提供編譯器的錯誤信息? – ronag 2013-02-13 14:03:29
對不起,我忘了 – 2013-02-13 14:05:37