【发布时间】:2017-05-13 10:11:18
【问题描述】:
在 C++ 中,多次声明变量会在编译期间显示错误。例如:
int x;
int x;
虽然多次声明函数在编译期间不会显示任何错误。例如:
int add(int, int);
int add(int, int);
为什么在 C++ 中有这种区别?
【问题讨论】:
-
函数可以重载,但参数的数量和类型应该不同。变量不能重载。
-
它并没有重载它只是重新声明。可以随时进行声明。
-
那不是函数声明,是原型声明,可以多次声明。这实际上是自 C 以来的区别。原型是没有主体的声明,声明和主体被认为是一个定义,只能出现一次
标签: c++ declaration definition one-definition-rule