c++/5543: Conversions and template functions
Wolfgang Bangerth
bangerth@ticam.utexas.edu
Wed Jan 22 20:46:00 GMT 2003
The following reply was made to PR c++/5543; it has been noted by GNATS.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-bugs@gcc.gnu.org, <gcc-gnats@gcc.gnu.org>
Cc:
Subject: Re: c++/5543: Conversions and template functions
Date: Wed, 22 Jan 2003 14:44:27 -0600 (CST)
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/
More information about the Gcc-prs
mailing list