Hi,
can a userdefined conversion operator be a template - that is is the following
codesnippet legal?
struct Annie
{
template<class T> operator T()const
{
return T();
}
};
void testAnnie()
{
Annie fromAnnieWithLove;
std::string s = fromAnnieWithLove;
int n = fromAnnieWithLove;
}
according to VC++ 7.1 the answer seems yes, according to VC++ 6.0 the answer
seems no (the latter compiles this code but crashs when executing it) both
observations are of course not normative :-)
--
Arne
remove x from my e-mail address when replying directly to me
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Arne
|
4/20/2004 11:17:32 PM |
|
"Arne Adams" <arne.adams@t-online.de> wrote in message news:<c63c91$bbq$03$1@news.t-online.com>...
> Hi,
> can a userdefined conversion operator be a template ?
Yes, see 14.5.2/5 14.5.2 Member templates/template conversion function
and 14.8.2.3 Deducing conversion function template arguments.
Regards,
Michiel Salters
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Michiel
|
4/23/2004 12:35:41 AM
|
|
"Michiel Salters" <Michiel.Salters@logicacmg.com> schrieb:
> "Arne Adams" <arne.adams@t-online.de> wrote:
> > can a userdefined conversion operator be a template ?
>
>
> Yes, see 14.5.2/5 14.5.2 Member templates/template conversion function
> and 14.8.2.3 Deducing conversion function template arguments.
thanks - I only checked 12.3 and there (much to my desparation) was no phrase
like: "yes dear Arne, you may use templated conversion operators" :-)
--
Regards,
Arne
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
0
|
|
|
|
Reply
|
Arne
|
4/23/2004 11:35:59 PM
|
|