C ++ valor inicial de referência para não const deve ser um lvalue

Eu estou tentando enviar valor em função usando ponteiro de referência, mas me deu um erro completamente estranho-tipo para mim

#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();
}

Erro: o valor inicial de referência para non-const deve ser um lvalue

Eu não tenho idéia do que devo fazer para reparar o código acima, alguém pode me dar algumas idéias sobre como corrigir esse código? obrigado :)

questionAnswers(3)

yourAnswerToTheQuestion