From mboxrd@z Thu Jan 1 00:00:00 1970 From: theonetruekenny@yahoo.com To: gcc-gnats@gcc.gnu.org Subject: c++/2294: using declaration confusion Date: Thu, 15 Mar 2001 12:56:00 -0000 Message-id: <20010315204849.11766.qmail@sourceware.cygnus.com> X-SW-Source: 2001-03/msg00084.html List-Id: >Number: 2294 >Category: c++ >Synopsis: using declaration confusion >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Thu Mar 15 12:56:00 PST 2001 >Closed-Date: >Last-Modified: >Originator: Kenny Simpson >Release: gcc version 3.0 20010313 (prerelease) >Organization: >Environment: online compiler >Description: >>From the example in section 7.3.3 12 of the 1997 draft, gcc complains about the "using C::f" declaration. >How-To-Repeat: from http://anubis.dkuug.dk/jtc1/sc22/open/n2356/dcl.html: namespace B { void f(int); void f(double); } namespace C { void f(int); void f(double); void f(char); } void h() { using B::f; // B::f(int) and B::f(double) using C::f; // C::f(int), C::f(double), and C::f(char) f('h'); // calls C::f(char) f(1); // error: ambiguous: B::f(int) or C::f(int) ? void f(int); // error: // f(int) conflicts with C::f(int) and B::f(int) } >Fix: >Release-Note: >Audit-Trail: >Unformatted: