El valor inicial de C ++ de referencia a non-const debe ser un lvalue

Estoy tratando de enviar valor a la función utilizando el puntero de referencia, pero me dio un error completamente extraño.

#include "stdafx.h"
#include <iostream>

using namespace std;

void test(float *&x){

    *x = 1000;
}

int main(){
    float nKByte = 100.0;
    test(&nKByte);
    cout << nKByte << " megabytes" << endl;
    cin.get();
}

Error: el valor inicial de referencia a non-const debe ser un lvalue

No tengo idea de lo que debo hacer para reparar el código anterior. ¿Puede alguien darme algunas ideas sobre cómo corregir ese código? Gracias :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta