我正在努力解决以下问题。基本上我有一个模板结构和一个特化。
template<class T>
struct A
{
};
// Specialization of A for int
template<>
struct A<int>
{
template<class B>
void f(B b)
{
// Do stuff
}
};
是否可以专门化A :: f?
类似的东西:
template<>
template<>
void A<int>::f<double>(double b)
{
// do stuff
}
答案 0 :(得分:2)
是的,但您只需要一个template<>
(A<int>
已完全专业化,成员函数仅在专业化A<int>
中定义,而不是在主模板中定义< / p>
template<>
void A<int>::f<double>(double b)
{
std::cout << "specialization" << std::endl;
}