我意识到gcc和g ++对以下代码的处理方式不同:
#include <stdio.h>
int main(void)
{
int a = 0;
int& b = a;
return 0;
}
gcc返回“&amp;”之前的“解析错误”,而g ++没有返回错误。
我曾经遇到过一次采访,提到C和C ++编译器对int&amp;湾
答案 0 :(得分:2)
那是因为&
在C类型声明中没有意义 - 在C ++中,它意味着变量将是一个引用,但在C中不存在。
换句话说,int& b = a;
只是无效的C代码。