函数模板定义中不应重复指定默认实参
错误信息
1 2 3 4 5 6 | template <typename T = int> void printSize(void); template <typename T = int> void printSize(void) { std::cout << sizeof(T) << std::endl; } |
1 2 3 4 5 6 | error: template parameter redefines default argument 3 | template <typename T = int> | ^ note: previous default template argument defined here 1 | template <typename T = int> | ^ |
问题介绍
模板函数在声明时已经指定默认实参,则在模板函数定义时不应重复指定默认实参。
解决方案
- 去除多余实参指定;
- 使用clang-tidy工具可以识别该类问题并提供修改建议。
父主题: 其它类兼容问题