<div dir="ltr">







<p class="gmail-p1"><span class="gmail-s1"><font face="georgia, serif">Hi all,</font></span></p><p class="gmail-p1"><span class="gmail-s1"><font face="georgia, serif"><br></font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="georgia, serif">I am trying to wrap fairly large C++ api using SIP. In trying to build the module, I get the error:</font></span></p><p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace"><br></font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">./sipbundleIsisBundleImage.cpp: In function ‘void* array_Isis_BundleImage(Py_ssize_t)’:</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">./sipbundleIsisBundleImage.cpp:86:43: error: no matching function for call to ‘Isis::BundleImage::BundleImage()’</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">    return new Isis::BundleImage[sipNrElem];</font></span></p>
<p class="gmail-p2"><font face="georgia, serif"><span class="gmail-s1"></span><br></font></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="georgia, serif">We do not user the default contractor in our codebase, so one does exist for the class BundleImage. It seems like SIP requires there to exist a default constructor for the wrapped class? This can be fixed easily by adding a default contractor to the C++ class being wrapped, but I would like to avoid it if possible. </font></span></p>
<p class="gmail-p2"><font face="georgia, serif"><span class="gmail-s1"></span><br></font></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="georgia, serif">My questions are: Does SIP allow for a clean way to eliminate this error without changing the codebase being wrapped? Does SIP actually require a default constructor or is there something I am doing wrong? </font></span></p>
<p class="gmail-p2"><font face="georgia, serif"><span class="gmail-s1"></span><br></font></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="georgia, serif">The .sip for bundle Image is as barebones as the class:</font></span></p>
<p class="gmail-p2"><font face="georgia, serif"><span class="gmail-s1"></span><br></font></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">namespace Isis {</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace"> class BundleImage {</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace"> %TypeHeaderCode</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">   #include "BundleImage.h"</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace"> %End</font></span></p>
<p class="gmail-p2"><font face="monospace, monospace"><span class="gmail-s1"></span><br></font></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace"> public:</font></span></p>
<p class="gmail-p2"><font face="monospace, monospace"><span class="gmail-s1"></span><br></font></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">   QString serialNumber();</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">   QString fileName();</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace"> };</font></span></p>
<p class="gmail-p1"><span class="gmail-s1"><font face="monospace, monospace">};</font></span></p></div>