This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/2294: using declaration confusion
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/2294: using declaration confusion
- From: theonetruekenny at yahoo dot com
- Date: 15 Mar 2001 20:48:49 -0000
- Reply-To: theonetruekenny at yahoo dot com
>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: