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