在C++中定义具有相同签名的两个函数

Vit*_*i K 0 c++ function

为什么我们可以通过以下方式定义具有相同签名的两个函数?

extern void print(int *ia, int sz);
void print(int *array, int size);
Run Code Online (Sandbox Code Playgroud)

And*_*owl 7

这些不是定义,而是(冗余)声明.如果你通过提供一个函数体将它们变成定义,你肯定会从编译器中得到一个错误.