【发布时间】:2015-05-26 10:27:41
【问题描述】:
我写了一段这样的代码
int a;
int a = 100;
int main()
{
}
GCC编译成功,G++编译不成功。
我猜 GCC 通过忽略变量 a 的第一个定义来处理这个问题。但是我想知道确切的规则,这样我就不会错过任何东西。
谁能帮帮我?
【问题讨论】:
-
请不要:您应该使用
int main(void)。您还应该使用-Wall进行编译 -
这不是 gcc 与 g++ 的问题,而是 C 与 C++ 的问题。不同的语言,不同的规则。
-
@Eregrith 我加了-Wall,gcc只提醒我main函数没有return
-
@Mat 因为我觉得 GCC 的这种行为很奇怪,所以我认为它可能只是 GCC 的一个扩展