[PyQt] SIP template-based class with argument having default constructor as default value
Denis Rouzaud
denis.rouzaud at gmail.com
Tue Jun 13 15:16:31 BST 2017
Hi all,
Title says it all ;)
I think there is an issue on how SIP handles the default value argument for
template-based classes.
SIP don't replaces the T var by the implemented base class constructor.
See below.
Let's say I have
template <typename T>
class Base
{
pubic:
Base( const T &epoch = T()) : mEpoch( epoch ){}
private:
T mEpoch;
}
typedef Base< QDate > MyDate;
typedef Base< QDateTime > MyDateTime;
Here is the SIP code generated:
static void *init_type_MyDate(sipSimpleWrapper *, PyObject *sipArgs,
PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject
**sipParseErr)
{
MyDate *sipCpp = 0;
{
const QDate& a0def = T();
const QDate* a0 = &a0def;
int a0State = 0;
......
I get an error:
use of undeclared identifier 'T'
in const QDate& a0def = T();
Does someone confirm?
Is there a workaround?
Cheers,
Denis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20170613/6821d1d0/attachment.html>
More information about the PyQt
mailing list