int& b = a;对于gcc vs g ++

时间:2012-08-13 13:03:54

标签: gcc

我意识到gcc和g ++对以下代码的处理方式不同:

#include <stdio.h>
int main(void)
{
    int a = 0;
    int& b = a;
    return 0;
}

gcc返回“&amp;”之前的“解析错误”,而g ++没有返回错误。

我曾经遇到过一次采访,提到C和C ++编译器对int&amp;湾

1 个答案:

答案 0 :(得分:2)

那是因为&在C类型声明中没有意义 - 在C ++中,它意味着变量将是一个引用,但在C中不存在。

换句话说,int& b = a;只是无效的C代码。