Could anyone help me debug this

// recursive factorial prblm 4 pg 290 c++ primer plus

#include <iostream>

using namespace std;

float factorial(int n);

int main()

{

int n;

float fact;

cout << "Enter an integer:";

cin >> n;

fact=factorial(n);

cout << "The factorial is:" << fact << endl;

}

float factorial(int n)

{

float temp

if (n>0)

temp= n*factorial(n-1);

return temp;

}