home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / gnu / g / lib / bug / 443 < prev    next >
Encoding:
Text File  |  1992-07-23  |  1.6 KB  |  61 lines

  1. Newsgroups: gnu.g++.lib.bug
  2. Path: sparky!uunet!cis.ohio-state.edu!surya.CSc.ti.COM!pduncan
  3. From: pduncan@surya.CSc.ti.COM (Phil Duncan)
  4. Subject: libg++ problem
  5. Message-ID: <9207231540.AA04437@surya.csc.ti.com>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: GNUs Not Usenet
  8. Distribution: gnu
  9. Date: Thu, 23 Jul 1992 15:40:09 GMT
  10. Approved: bug-lib-g++@prep.ai.mit.edu
  11. Lines: 48
  12.  
  13.   On page 23 of the libg++ documentation (first page of Chap. 6)
  14. are directions for using void* coercion to create container classes
  15. that share code.  I tried creating a container class using
  16. this mechanism and am getting a compiler error.  Below is
  17. the pertinent code and error message.
  18.  
  19. -------------------------------------------------------------------------
  20.  
  21. typedef Edge* EdgePtr;
  22. typedef void* Ptr;
  23.  
  24. class PtrBag {          // created by "genclass Ptr val Bag"
  25.  
  26. public:
  27.   virtual Ptr&          operator () (Pix i) = 0; // access item at i
  28.  
  29. };
  30.  
  31. class PtrSLBag : public PtrBag {      // created by "genclass Ptr val SLBag"
  32.  
  33. public:
  34.   Ptr&          operator () (Pix i);
  35.  
  36. };
  37.  
  38. class EdgePtr_bag : public PtrSLBag {    // my derived class
  39.  
  40.   public:
  41.  
  42.     EdgePtr& operator()(Pix i) { return (EdgePtr&)PtrSLBag::operator()(i); }
  43. };
  44.  
  45.  
  46. ---------------------------------------------------------------------------
  47.  
  48. EdgePtr_bag.h:12: conflicting return type specified for virtual function `class
  49. Edge* EdgePtr_bag::operator () (void *)'
  50.  
  51.   Any help, insight, comments will be greatly appreciated.
  52.  
  53.                     Thanks,
  54.                         Phil D.
  55.  
  56. -- 
  57. Phillip J. Duncan
  58. duncan@janet.ucla.edu               ...!(uunet,ucbvax)!janet.ucla.edu!duncan
  59. UCLA EE Dept.  56-122 Engineering IV, Los Angeles,  CA 90024   (310)206-4465
  60.  
  61.