[comp.lang.c++] Name space semantics?

edgerton@csdpie.dec.com (01/14/89)

When I tried to compile the list class test program (test11.cc)
from the GNU libgxx library using the Oasys
version 1.2 compiler, I got the following error:

        designer C++ Programming System, release 1.2 Vms4.5.1
        Copyright 1987, Glockenspiel Ltd., Dublin, Ireland
        Glockenspiel System V.3 compatible C pre-processor, release.4
        AT&T C++ Translator, release 1.2 Vms4.5.1
        Copyright 1984 AT&T, Inc. and 1987 Glockenspiel Ltd.
"intList.hxx", line 129: error:  append() declared both as const int  and as fun
ction

------------
The code fragments below show the conflict:

// From stream.hxx
enum open_mode { input=0, output=1, append=2 };

// from intlist.hxx (from gnu libgxx list_h.proto)
class intList
{
  .
public:
  .
  friend intList        append(intList& a, intList& b);
  .
};

inline void intList::append(intList& l)
{
  .
}

Is this a bug?  If not, this seems to be a very restrictive
name space problem with the language and how header files
and libraries can be constructed.  Any comments?

Dave Edgerton