[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    Bug#5814: KDE 2.0: kio doesn't compile on Tru64 UNIX
From:       Rigoberto Corujo <rcorujo () unx ! dec ! com>
Date:       2000-06-30 17:57:18
[Download RAW message or body]


When I try to compile "kdelibs-1.91/kio" on Tru64 UNIX V5.0 I get the
following error message.

cxx: Error: kservicefactory.h, line 85: return type is not identical to
          return type "KSycocaEntry *" of overridden virtual function
function
          "KSycocaFactory::createEntry(int)"
  virtual KService * createEntry(int offset);

This is because in the base class "KSycocaFactory", "createEntry" is a
virtual function
which returns a "KSycocaEntry*" type...

class KSycocaFactory
{
  .
  .
   virtual KSycocaEntry *createEntry(int offset)=0;
  .
  .
}

..but in the derived class "KServiceFactory", "createEntry" returns
"KService*".
The "createEntry" member should return the same type in both classes.
However,
I cannot just change the return type to be the same because it causes
errors elsewhere
in the code.

class KServiceFactory : public KSycocaFactory
{
  .
  .
  virtual KService * createEntry(int offset);
  .
  .
}

I don't believe this is legal in C++.  I also tried a similar test using
"g++" and got
the same error.  I don't know how this would ever compile under any
compiler.

Rigoberto Corujo
Compaq Computer Corporation

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic