public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: have@ann.jussieu.fr To: gcc-gnats@gcc.gnu.org Subject: c++/10845: `template method` not matched in template class Date: Sun, 18 May 2003 17:56:00 -0000 [thread overview] Message-ID: <20030518174750.15401.qmail@sources.redhat.com> (raw) >Number: 10845 >Category: c++ >Synopsis: `template method` not matched in template class >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sun May 18 17:56:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: have@ann.jussieu.fr >Release: g++-3.2, 3.3 >Organization: >Environment: Linux i686 >Description: error: no matching function for call to `A<int>::f(int&, A<int>::SubA<int>&)'. In what follows, words written as _underscored_ mean that without any _underscored_ hypothesis, bug does not occur. Let us consider a method f (with _two_ templates arguments) of a _template_ class A. The first argument is given by a _template T1_. The second argument is given as a _template_ sub class of A (SubA<L>) and the second template typename of f is given for matching L. Moreover, there exists (at least) another template method in A which has the same argument type than the second one of f. Then f cannot be found when it is called. >How-To-Repeat: Try to compile this code ---8<------------ template<typename T> struct A { template<typename L> struct SubA { }; template<typename T1,typename L> void f(T1 & t1, SubA<L> & t2) { } template<typename U> void g(SubA<U> & suba) { } template<typename U> void h(SubA<U> & suba) { } }; int main(void) { int i; A<int> a; A<int>::SubA<int> suba; a.f(i,suba); a.g(suba); a.h(suba); } >Fix: >Release-Note: >Audit-Trail: >Unformatted:
reply other threads:[~2003-05-18 17:56 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030518174750.15401.qmail@sources.redhat.com \ --to=have@ann.jussieu.fr \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).