说我有模板功能:
template<typename T> void doit(T const & t)
{
t.doit();
}
它专门用于原始类型:
template<> void doit(int const & i)
{ /* FUN HERE */ }
Structures / Classes实现了一种方法来完成它们的工作:
void MyClass::doit(void) const
{ /* EVEN MORE FUN */ ::doit(someMember); }
对于工会,我确实有一个&#34;将军&#34;解决方案,适用于任何工会类型。模板是否有某种方式可以匹配联盟&#34;但不是结构/类?也许利用SFINAE?
不幸的是,我只限于C ++ 03,不能使用C ++ 11或C ++ 14语言功能或任何(包括std)库。