【发布时间】:2013-10-27 05:37:56
【问题描述】:
template <typename T, unsigned D>
class Matrix
{
public:
T Determinant( void ) const;
T m[D][D];
};
template <typename T>
T Matrix<T, 2>::Determinant( void ) const
{
return m[0][0] * m[1][1] - m[1][0] * m[0][1];
}
你好,论坛。 我有这个代码,但我得到了错误:
1>c:\dropbox\projects\math\matrix.h(319): error C3860: template argument list following class template name must list parameters in the order used in template parameter list
1>c:\dropbox\projects\math\matrix.h(319): error C2976: 'Math::Matrix<T,D>' : too few template arguments
不知道出了什么问题。请帮忙。
【问题讨论】:
-
我相信你只能专精整个类,不能专精个别功能。
-
你可以做的是让
Determinant成为非会员(可能是朋友)并重载它。