Covariant problem

Steven Schveighoffer schveiguy at yahoo.com
Wed Jul 23 08:28:31 PDT 2008


"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 




More information about the Digitalmars-d-learn mailing list