Я смущен тем, что следующий код не может скомпилировать
int foo(const float* &a) {
return 0;
}
int main() {
float* a;
foo(a);
return 0;
}
Компилятор сообщает об ошибке как:
ошибка: неверная инициализация ссылки типа 'const float * &' из выражения типа 'float *'
но когда я пытаюсь передать без ссылки в foo, он компилируется в порядке.
Я думаю, что он должен показывать то же поведение, передаю ли я по ссылке или нет.
Спасибо,