dígitos da função recursiva de um inteiro decimal positivo na ordem inversa c ++

Eu tenho uma atribuição para escrever uma função recursiva que grava os dígitos de um inteiro positivo na ordem inversa. Meu problema é que a função não exibe o reverso corretamente. Eu sei que eu deveria usar% ou 10 quando exibir o número e / de 10 quando na chamada recursiva, bem como o caso base é suposto ser <10. Aqui está o meu código.

#include <iostream>
using namespace std;

int reverse(int,int);

int main()
{
    int number;
    int n;

    cout << " Enter number to reverse." << endl;
    cin >> number;
    cout << reverse(number % 10,0);

    return 0;
}//end main

int reverse(int number,int n)
{

    if(n < 10)
    {
        return n;
    }
    else
    {
        return reverse(number/10,n);
    }
}// end reverse

questionAnswers(5)

yourAnswerToTheQuestion