class Record
{
public:
template<class value_t> value_t query(field f) const;
};
template<class value_t>
bool select_func(const Record &r, field f, value_t v)
{
return(r.query<value_t>(f) == v); (*)
} causes a "parse error before >'' token" as well as a "parse error before )'' token" in GCC 3.2. Changing value_t to be an actual type (int, float) causes the same error. If the template is removed from select_func and value_t typedef''d to int, however, there is no error.
Anybody know how to fix this little problem?