需求是这样的:
- 模板实现包含有可变参数
- 头文件和实现需要分开
头文件和实现分开通常使用的办法是显式特例化
// a.h #pragma once templatevoid func(T a, int b, Args... args);
实现
a.cc #include "a.h" #includeusing namespace std; template void func(T a, int b, Args... args) { cout << "a = " << " int b = " << b << " others = " << sizeof...(args); } template void func (float a, int b); int main() { float a = 1.f; int b = 2; char c = 'C'; double d = 'C'; func(a, b, c, d); }



