क्या टेम्पलेट पर (boost) bind के साथ तर्कों को बाध्य करना संभव है?क्या मैं फ़ंक्शन टेम्पलेट के साथ बाध्य (बूस्ट) का उपयोग कर सकता हूं?
// Define a template function (just a silly example)
template<typename ARG1, typename ARG2>
ARG1 FCall2Templ(ARG1 arg1, ARG2 arg2)
{
return arg1 + arg2;
}
// try to bind this template function (and call it)
...
boost::bind(FCall2Templ<int, int>, 42, 56)(); // This works
boost::bind(FCall2Templ, 42, 56)(); // This emits 5 pages of error messages on VS2005
// beginning with: error C2780:
// 'boost::_bi::bind_t<_bi::dm_result<MT::* ,A1>::type,boost::_mfi::dm<M,T>,_bi::list_av_1<A1>::type>
// boost::bind(M T::* ,A1)' : expects 2 arguments - 3 provided
boost::bind<int>(FCall2Templ, 42, 56)(); // error C2665: 'boost::bind' : none of the 2 overloads could convert all the argument types
विचार?
इरादे, बहुरूपी व्यवहार है तो [इस] (http://stackoverflow.com/questions/7033645/is-there-a-generic-way- टू-अनुकूलन-ए-मज़ा ction-template-to-be-a-polymorphic-function) रुचि का हो सकता है। –
ऐसा मत सोचो कि यह संभव है। – Arunmu