Использование рекурсии для поднятия базы до ее степени - C ++

Я просто хочу написать некоторый код, который использует рекурсию функций, чтобы поднять базу до ее уровня. Я знаю, что рекурсия - не самый правильный способ сделать что-то в C ++, но я просто хочу немного изучить концепцию. Программа запрашивает у пользователя базу и показатель степени, а затем утешает ответ. Вот программа, которую я написал:

#include <iostream>
#include <math.h>
using namespace std;

int raisingTo(int, int);
int main()
{
    int base, exponent;
    cout << "Enter base value: ";
    cin >> base;
    cout << "Enter exponent value: ";
    cin >> exponent;
    int answer = raisingTo(base, exponent);
    cout << "The answer is: " << answer << endl;
    char response;
    cin >> response;
    return 0;
}

int raisingTo(int base, int exponent)
{
    if (exponent > 0)
        return 1;
    else if (exponent = 0)
    {
        int answer = (int) pow((double)base, raisingTo(base, (exponent - 1)));
        return answer;
    }
}

Самое смешное, что когда я запускаю эту программу, она продолжает возвращать ответ как «1»! Может кто-нибудь, пожалуйста, помогите мне в этом?