This is really stupid. I don't know why I'm getting the below error at the boldened line in my program. I'm using gcc 3.3.

Thanks in advance.

list1.hpp
Code:
#include <list>

template <typename T>
void insert_order(list<T> & ordered_list, const T & item)
{
   list<T>::iterator curr = ordered_list.begin();
   list<T>::iterator end = ordered_list.end();

   while((curr != stop) && ((* curr) < item))
   {
      curr++;
   }

   orderd_list.insert(curr, item);
}

template <typename T>
void remove_duplicates(list<T> & a_list)
{
   T curr_value;
   list<T>::iterator curr;
   list<T>::iterator p;

   curr = a_list.begin();

   while(curr != a_list.end())
   {
      curr_value = * curr;
   }
}
Errors:
Code:
In file included from prg6_3.cpp:6:
list1.hpp:6: error: parse error before `>' token
list1.hpp: In function `void insert_order(...)':
list1.hpp:9: error: parse error before `>' token
list1.hpp:10: error: parse error before `>' token
list1.hpp: At global scope:
list1.hpp:23: error: parse error before `>' token
list1.hpp: In function `void remove_duplicates(...)':
list1.hpp:28: error: parse error before `>' token
list1.hpp:29: error: parse error before `>' token