 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Alfonso Morra Guest
|
Posted: Thu Jul 28, 2005 9:00 am Post subject: Template speccialization question |
|
|
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"?
|
|
| Back to top |
|
 |
Rob Williscroft Guest
|
Posted: Thu Jul 28, 2005 10:39 am Post subject: Re: Template speccialization question |
|
|
Alfonso Morra wrote in news:dca6s8$i19$1 (AT) nwrdmz02 (DOT) dmz.ncs.ea.ibs-
infra.bt.com in comp.lang.c++:
| Quote: | 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 &.
| Quote: |
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/
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|