我对带引用的变量声明感到困惑。我读了一些页面,这让我更加困惑,所以我更喜欢在这里问。
我在C ++访谈中被问过4个问题;哪一个是错的?为什么?
(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;
有人可以解释哪个不正确,为什么?
答案 0 :(得分:2)
必须始终初始化参考。
答案 1 :(得分:2)
tl; dr必须在声明时(直接或在类初始化中)初始化引用。
int& n;
这使得引用n
未初始化。必须在声明时初始化参考文献。
const int& n = 15;
这里没有错。对const int
的引用初始化为15
。
float x; const int& n = x;
float
没问题,但是未经初步宣传是一个坏主意。引用n
初始化为x
(浮点数/积分转换适用),它也不是一个好主意。