Covariant problem
    Lars Ivar Igesund 
    larsivar at igesund.net
       
    Wed Jul 23 08:47:09 PDT 2008
    
    
  
Steven Schveighoffer wrote:
> "Zarathustra" wrote
>> error:
>> function basis.CPolygon2d.getPoints of type CPoint2d[]() overrides but is
>> not covariant with basis.CPolygon3d.getPoints of type CPoint3d[]()
>>
>> I don't know how to fix this problem. What does 'covariant' mean?
> 
> Covariant means that the override returns something that can be implicitly
> casted to the base version.
> 
> So the error looks like the base class function getPoints returns type
> CPoint3d[], but the derived class is returning CPoint2d[].  In order for
> this to work, CPoint2d[] must be implicitly castable to CPoint3d[], which
> probably isn't true.
> 
> In order to diagnose the problem exactly, we would have to see code.  At
> least the class hierarchy.
> 
> -Steve
Arrays are not implicitly castable (not even explicitly afaik) to another
type, no matter how they are related.
-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
    
    
More information about the Digitalmars-d-learn
mailing list