mcginnis@SHARKEY.CC.UMICH.EDU (Brian McGinnis) (05/16/91)
Hi,
I am trying to compile the 3.0 version of NIHCL libraries with g++ version
1.37. I keep recieving the following error message and can't seem to
interpret it.
Object.h: In function class Class &static Class::castdown (class Object &):
In file included from Collection.h:28, from ArrayOb.h:28, from ArrayOb.c:38:
Object.h:383: type `Class' is not a base type for type `Object'
Object.h: In function const class Class &static Class::castdown (const class Object &):
Object.h:383: type `Class' is not a base type for type `Object'
Collection.h: In function class Collection &static Collection::castdown (class Object &):
In file included from ArrayOb.h:28, from ArrayOb.c:38:Collection.h:38: type `Collection' is not a base type for type `Object'
Collection.h: In function const class Collection &static Collection::castdown (const class Object &):
Collection.h:38: type `Collection' is not a base type for type `Object'
he error occurs in MACRO that is called withing the class definitions.
The macro is as defined below
#define DECLARE_CASTDOWN(classname) \
static classname& castdown(Object& p) { return (classname&)p; } \
static const classname& castdown(const Object& p) { return (const classname&)p; } \
static classname* castdown(Object* p) { return (classname*)p; } \
static const classname* castdown(const Object* p) { return (const classname*)p; } \
If you recognize this error or could give me any suggestions at all I
would be greatly appreciative. I really like using the g++ compiler,
its seems to be the quickest, gives the most options, and best feedback
of the c++ compilers I have used( AT&T and Glockenspiel). But if I cant't
get it to compile the NIHCL I will have to abandon it, Please help.
Thanks,
Brian McGinnis
mcginnis@mcginnis.aa.cad.slb.com