Namespaces - Wrong errors

Philippe Bouchard philippeb@corel.com
Fri Oct 20 09:01:00 GMT 2000


Version:
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs
gcc version 2.95.2 20000220 (Debian GNU/Linux)

Source:
#include <iostream>

struct A
{
  A() { cout << __PRETTY_FUNCTION__ << endl; }
};

namespace UI
{
  struct A
  {
    A() { cout << __PRETTY_FUNCTION__ << endl; }
  };
}

int main(...)
{
  using namespace UI;

  A a = A();
}

Reports:
namespaces.cpp: In function `int main(...)':
namespaces.cpp:20: `A' undeclared (first use this function)
namespaces.cpp:20: (Each undeclared identifier is reported only once
namespaces.cpp:20: for each function it appears in.)
namespaces.cpp:20: parse error before `='

Shouldn't the compiler reports ambiguity instead of "A undeclared"?



More information about the Gcc-bugs mailing list