Übergabe des const-Zeigers als Referenz

Ich bin verwirrt darüber, warum der folgende Code nicht kompiliert werden kann

int foo(const float* &a) {
    return 0;
}
int main() {
    float* a;
    foo(a);

    return 0;
}

Compiler geben Fehler als:

Fehler: Ungültige Initialisierung der Referenz vom Typ 'const float * &' vom Ausdruck vom Typ 'float *'

aber wenn ich versuche, ohne Bezug in foo zu bestehen, kompiliert es gut.

Ich denke, es sollte dasselbe Verhalten zeigen, ob ich als Referenz weitergebe oder nicht.

Vielen Dank,

Antworten auf die Frage(1)

Ihre Antwort auf die Frage