Hi, I am get compilation error when using gcc 3.4 on i386 platform related to template : ERROR MESSAGE: include/template:168: error: ISO C++ forbids declaration of `result_type' with no type include/template:168: error: expected `;' before "operator" /include/template:171: error: expected `;' before "protected" SOURCE FILE: template<class _Bfn> class binder1st : public unary_function<typename _Bfn::second_argument_type, typename _Bfn::result_type> { public: binder1st(const _Bfn& _X, const typename _Bfn::first_argument_type& _Y) : op(_X), value(_Y) {} result_type operator()(const argument_type& _X) const // Error here ! Line 168 {return (op(value, _X)); } protected: _Bfn op; typename _Bfn::first_argument_type value; }; Everything use to run fine on gcc 3.3.x. Any suggestion to fix this issue ? Thanks Best Regards Kelvin Lim Notice The information in this message is confidential and may be legally privileged. It is intended solely for the addressee. Access to this message by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying or distribution of the message, or any action taken by you in reliance on it, is prohibited and may be unlawful. If you have received this message in error, please delete it and contact the sender immediately. Thank you.