Topic: Can we allow certain implicit convertions to happen before overload resolution is done?
Author: nesotto@cs.auc.dk ("Thorsten Ottosen")
Date: Mon, 7 Mar 2005 16:00:28 GMT Raw View
Hi gurus,
Implicit convertions are not done before the best matching overloaded function
is picked.
This seems to be irritiating in certain situations, in particular when the
conversion is from
derived to base pointer/reference. For example,
template< class T >
void foo( const T& )
{ ... }
struct X { ... };
struct Y : X { ... };
void foo( const X& r )
{ ... }
int main()
{
Y y;
foo( y ); // will call function template
}
I cannot come up with any examples where the current behavior is
actually what we want. In fact, it strikes me as very wierd
when you are familiar with the normal substitution rules.
Would it be possible to change this aspect of the language?
br
-Thorsten
--
Thorsten Ottosen
----------------------------
www.dezide.com
www.cs.aau.dk/index2.php?content=Research/bss
www.boost.org
www.open-std.org/JTC1/SC22/WG21/
---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]
Author: nesotto@cs.auc.dk ("Thorsten Ottosen")
Date: Mon, 7 Mar 2005 16:49:03 GMT Raw View
Hi gurus,
Implicit convertions are not done before the best matching overloaded function
is picked.
This seems to be irritiating in certain situations, in particular when the
conversion is from
derived to base pointer/reference. For example,
template< class T >
void foo( const T& )
{ ... }
struct X { ... };
struct Y : X { ... };
void foo( const X& r )
{ ... }
int main()
{
Y y;
foo( y ); // will call function template
}
I cannot come up with any examples where the current behavior is
actually what we want. In fact, it strikes me as very wierd
when you are familiar with the normal substitution rules.
Would it be possible to change this aspect of the language?
br
-Thorsten
--
Thorsten Ottosen
----------------------------
www.dezide.com
www.cs.aau.dk/index2.php?content=Research/bss
www.boost.org
www.open-std.org/JTC1/SC22/WG21/
---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]