 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Thorsten Ottosen Guest
|
Posted: Mon Mar 07, 2005 4:00 pm Post subject: Can we allow certain implicit convertions to happen before o |
|
|
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 ]
|
|
| 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
|
|