template <typename T> void A() { //... } template <typename T> void B() { //... }
这些功能不同,但它们共享一个类似的模板(使用通用类型T).有没有办法只初始化模板一次?
template <class T> struct Functions { static void A() { /*...*/ } static void B() { /*...*/ } };
但是,您无法从函数的参数中推断出T,并且调用语法更长:
Functions<double>::A();