重新定义是否意味着我们正在尝试定义一个已经定义的实体。这个问题出现在以下代码示例中:
int a=5;
int main()
{
int a=3;//redefinition? I think no, because `int a` denote an entity different from the global "a"
}
还有一个例子:
int foo(){ return 1; }
int main()
{
int foo();
int a=foo();//Now a is 1
}
我们不能foo()
在main()
函数体内定义刚刚声明的函数,但如果可以的话,它会是一个重新定义吗?