When I was playing around a few days ago with the contest att cpphome I discovered a strange thing in CodeWarrior.

This code actually compiles!

There's one ) too much on the red line but the code still compiles!Code:`template <int n1, int d1, int n2, int d2>`

struct add_fraction

{

static const int numerator;

static const int denominator;

};

int gcd(int a,int b)

{

if (a==b) return a;

if (a>b) return gcd(a-b,b);

return gcd(b-a,a);

}

template <int n1, int d1, int n2, int d2>

const int add_fraction<n1,d1,n2,d2>::numerator = (n1*d2+n2*d1)/gcd(n1*d2+n2*d1,d1*d2)); //One ) too much

template <int n1, int d1, int n2, int d2>

const int add_fraction<n1,d1,n2,d2>::denominator = (d1*d2)/gcd(n1*d2+n2*d1,d1*d2);

Note that I found a much better solution to the contest problem later, but I am quite amazed that this code is accepted!