Я озадачен, почему это верно. Возвращаемое значение имеет ссылочный тип int&
, но функция h()
возвращает значение типа int
в предложении return x
. Итак, как возврат int
меняется на int &
?
Это фрагмент кода, который прекрасно компилируется компилятором C++.
int& h() {
int q;
static int x;
return x;
}