De principio tienes un error de lógica. Si pretendes retornar un puntero, debes retornar un puntero y no una dirección de memoria.
Que los punteros apunten a una dirección de memoria no significa que sean inherentemente una dirección de memoria, sino que son punteros, ergo has de crear primero el puntero.
Código C++:
Ver originalint * doblar(int numero)
{
static int resul;
resul= numero*2;
int * resulpunt = &resul;
return resulpunt ;
}