By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,478 Members | 1,703 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,478 IT Pros & Developers. It's quick & easy.

Template speccialization question

P: n/a
I have a function template declared as ff:

template <class T1, class T2> size_t find( const T1& col, const T2&
val, const ColFindEnum& dir ) ;
I wanted to specialize it for string,long as ff:

template<> //string, long specialization
size_t find( const std::string& col, long& val, const ColFindEnum& dir )
However, I get a compiler error:
error C2912: explicit specialization; 'size_t A::find(const std::string
&,long &,const Table::ColFindEnum &)' is not a specialization of a
function template

Is it not possible to have a function template that has both template
arguments and arguments with "known types"?

Jul 28 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Alfonso Morra wrote in news:dc**********@nwrdmz02.dmz.ncs.ea.ibs-
infra.bt.com in comp.lang.c++:
I have a function template declared as ff:

template <class T1, class T2> size_t find( const T1& col, const T2&
val, const ColFindEnum& dir ) ;
I wanted to specialize it for string,long as ff:

template<> //string, long specialization
size_t find( const std::string& col, long& val, const ColFindEnum& dir
)

Try making it ..., long const &val, ...
.........................^^^^^

long & can't be used to deduce a valid T2 as its declared T2 const &.

However, I get a compiler error:
error C2912: explicit specialization; 'size_t A::find(const std::string
&,long &,const Table::ColFindEnum &)' is not a specialization of a
function template

Is it not possible to have a function template that has both template
arguments and arguments with "known types"?


Partial specializations are illegal, explicit specializations, like you
tried above, are legal.

HTH.

Rob.
--
http://www.victim-prime.dsl.pipex.com/
Jul 28 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.