我的项目有问题,这是一些测试代码,在项目中看起来一样。有些类是普通的,但其中之一是具有 2 种不同类型(B 类)的模板类,例如 int 和 double。
class Bar
{
Bar()
{
}
};
template< typename _T >
class B
{
B();
};
template< typename _T >
B<_T>::B()
{
}
typedef B<int> Bint;
typedef B<double> Bdouble;
template< typename _T >
class Test
{
Test();
void method();
};
template< typename _T >
Test<_T>::Test()
{
}
template< typename _T >
void
Test<_T>::method()
{
}
template< >
void
Test< Bar >::method()
{
//do sth for Bar
}
我知道我可以通过 spcializingB<int>
和B<double>
for 模板参数来做到这一点,但它会使代码加倍。这是一个问题,我只想为模板 B 类专门化方法,有什么办法吗?我知道这段代码行不通:
template< >
void
Test< B< _T> >::method()
{
////do sth for B< _T >
}