int &a=10; 引用是变量的别名,因此声明一个引用的前提是需要先有一个变量,或者说需要一个左值,对引用进行初始化的实质就是给变量起了一个别名。 因为a是一个引用,而初始化语句的等号是一个常量,也就是右值,这与引用的要求不符。