templated conversion operator

  • Follow


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

2 Replies
82 Views

(page loaded in 0.042 seconds)

Similiar Articles:













7/16/2012 8:48:58 AM


Reply: