[PyQt] SIP and multiple inheritance ambiguity
Scott Talbert
swt at techie.net
Tue Jun 7 04:55:34 BST 2016
On Fri, 3 Jun 2016, Scott Talbert wrote:
> Hi,
>
> I'm trying to wrap a set of classes that have a diamond multiple inheritance
> hierarchy (A inherits from B and C; B and C inherit from D).
>
> When SIP generates the cast_A function, it won't compile under GCC 6.1.1 due
> to an ambiguous base error:
> error: 'D' is an ambiguous base of 'A'
> return static_cast<D *>(sipCpp);
>
> Any ideas on how to work around this, other than hand editing the cast_X
> function?
Actually, I was wrong about this being related to a change in GCC. It
turns out this is related to a SIP change in 4.18:
https://www.riverbankcomputing.com/hg/sip/rev/14bfbaf7431a
I'm thinking SIP could possibly check the list of target types and if
there are duplicates, it could omit those from the cast function?
Scott
More information about the PyQt
mailing list