---
title: 函数模板定义中不应重复指定默认实参
description: "```"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_06_0094.html
sourcePath: /source/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_06_0094.html
indexId: d34091e531bbec1052af18b8430640e931bc0734886f08635ccc5e0c713dddd774
---
# 函数模板定义中不应重复指定默认实参

#### 错误信息

```
template <typename T = int>
void printSize(void);
template <typename T = int>
void printSize(void) {
  std::cout << sizeof(T) << std::endl;
}
```

```
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工具可以识别该类问题并提供修改建议。
