i am unable to compile this code..can any 1 help

Thank you !Code:#include <cstdio> #include <cmath> #include <algorithm> using namespace std; struct fraction { int num,den; fraction(){} fraction(int a,int b) {insert(a,b);} void insert(int a,int b) { int g=__gcd(a,b); if(g!=0) {a/=g;b/=g;} // reducing to lowest terms ! if(b<0) {a=-a;b=-b;} // changing the sign ! num=a;den=b; } bool operator <(fraction A) { return (num*A.den-den*A.num<0); } bool operator >(fraction A) { return (num*A.den-den*A.num>0); } bool operator ==(fraction A) { return (num*A.den-den*A.num==0); } }; int main() { fraction a[100]; sort(a,a+100); return 0; }