Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: "Tom Widmer [VC++ MVP]" <tom_usenet@xxxxxxxxxxx>
- Date: Thu, 03 May 2007 14:07:25 +0100
Matthias Hofmann wrote:
"Tom Widmer [VC++ MVP]" <tom_usenet@xxxxxxxxxxx> schrieb im Newsbeitrag news:%23tlRhSWjHHA.4772@xxxxxxxxxxxxxxxxxxxxxxx
You have your answer, but just to make things worse, what you are doing is illegal anyway - you aren't allowed to specialize std function templates unless the specialization involves a user-declared name (e.g. you can specialize them for your own types, but not for built-in or standard library types).
In practice, whether you care about this is up to you, but it is possible a library might include its own explicit specializations or explicit instantiations for such specializations, thus rendering your own explicit specialization either undefined behaviour or a compiler error.
But what if I want to specialize a template function that I wrote myself? I might have template function such as:
template <class T> inline
const T& minimum( const T& a, const T& b )
{ return a < b ? a : b; }
Then how do I specialize it in such a way that I can pass C-style strings?
Specialize it for both char* and char const*.
I
guess the answer is to overload the function instead of specializing it...
Or explicitly specialize for all types desired.
Tom
.
- Follow-Ups:
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- References:
- Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Explicitly specializing std::min() on VC++ 2005 Express Edition
- Prev by Date: Re: disappearing toolbar
- Next by Date: Re: disappearing toolbar
- Previous by thread: Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- Next by thread: Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- Index(es):
Relevant Pages
|
Loading