This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/5543: gcc 2.95.3 does not resolve intricate template
- From: rodrigc at gcc dot gnu dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, grzesik at cip dot physik dot uni-bonn dot de, nobody at gcc dot gnu dot org
- Date: 31 Jan 2002 03:07:06 -0000
- Subject: Re: c++/5543: gcc 2.95.3 does not resolve intricate template
- Reply-to: rodrigc at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, grzesik at cip dot physik dot uni-bonn dot de, nobody at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
Synopsis: gcc 2.95.3 does not resolve intricate template
State-Changed-From-To: open->analyzed
State-Changed-By: rodrigc
State-Changed-When: Wed Jan 30 19:07:05 2002
State-Changed-Why:
I think you need the template specialization in order
to compile your code. I get the same error with
gcc 3.0.3 and gcc 3.1.
Compiling with Comeau C++, I get:
"7397.c", line 35: error: no operator "*" matches these operands
operand types are: B<A<type<int>>, type<int>>::C * B<A<type<int>>,
type<int>>::C
c = c1() * c2 (); //does not compile, unless operator* is specialized (see above)
^
I'm not a template expert though, so can't say
for sure.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5543