例如:
template <typename Type1,typename Type2> void fun(const Type1 &v1,const Type2 &v2) { largest<Type1,Type2>::type val = v1 + v2; . . . };
我想知道某个地方是否有“最大”,也许是在提升.
解决方法
template<bool,typename T1,typename T2> struct is_cond { typedef T1 type; }; template<typename T1,typename T2> struct is_cond<false,T1,T2> { typedef T2 type; }; template<typename T1,typename T2> struct largest { typedef typename is_cond< (sizeof(T1)>sizeof(T2)),T2>::type type; };