This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/5543: Conversions and template functions
- From: Wolfgang Bangerth <bangerth at ticam dot utexas dot edu>
- To: gcc-bugs at gcc dot gnu dot org, <gcc-gnats at gcc dot gnu dot org>
- Date: Wed, 22 Jan 2003 14:44:27 -0600 (CST)
- Subject: Re: c++/5543: Conversions and template functions
This is a simpler testcase:
--------------------
template <class> struct type {};
template <class S> void foo (type<S>);
template <class T>
struct C {
operator T();
};
int main () {
C<type<int> > c;
foo (c);
}
--------------------------
gcc fails, because it can't find an instance of foo(C<type<int> >). It
could, however, if it tried to apply the conversion operator of C first,
but I don't know whether it is required to do so. I suspect not, since it
also fails for icc7.
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth/