Re: Why function template can't use another function template as its argument?
"Li Hang" <lihang9999@gmail.com> wrote in message
news:a93fb352-a38f-458c-a331-0057cce7081a@b38g2000prf.googlegroups.com
But the ' find_if( first2, last2,
bind2nd( in<vector<T> >, v ) ) ' doesn't work, the reason as I said:
bind2nd can only accept function object as its first argument.
Yes, that's correct. bind2nd requires an adaptable function object, one
that provides certain typedefs (usually by deriving from
binary_function).
If you have VC2008 SP1
(http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx)
installed, then you can use std::tr1::bind
(http://msdn.microsoft.com/en-us/library/bb982702.aspx) like this
(untested, as I don't have VC8 handy at the moment):
find_if(first2, last2, tr1::bind(in<vector<T> >, _1, v))
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925