Bug One Answer
The killer here is the double >'s in
the declaration of v. The C++ parser
has to interpret this as the operator >>
which is an atomic token, on par with the
template parameter delimiters < and >. Thus
the declaration line is seen as:
vector (less-than-token) vector
(less-than-token) int (right-shift-operator) v;
Where "right-shift-operator" is the >>.
The solution to this problem is to simply put a
space between the two >'s.