-------- Original Message --------
Subject: error 902 on an overloaded template assignment in a template
Date: Thu, 08 Nov 2007 16:17:41 -0700
From: Martin Sebor <sebor@roguewave.com>
To: acxx@cup.hp.com
Hi!
This bug seems familiar but I don't think I've reported it yet.
It comes up in our test for auto_ptr. See:
http://issues.apache.org/jira/browse/STDCXX-616
Martin
$ cat t.cpp && aCC -V t.cpp
template <class T>
struct S {
void operator= (S&) { }
template <class U>
void operator= (S<U>&) { }
};
int main ()
{
S<void> s;
s.operator=<void>(s);
}
aCC: HP ANSI C++ B3910B A.03.73
Error 902: "t.cpp", line 11 # Template deduction failed to find a match
for the call to 'operator =' with signature 'void (S<void> *,S<void>)'.
s.operator=<void>(s);
^^^^^^^