Error 2660: qmlRegisterType schläg fehl wenn Klasse 2 Basis-KLassen hat (QOBject + 1)



  • Hi Community,

    Ich möchte meine Klasse DA_RailCarrier in QML registrieren via

    qmlRegisterType<DA_RailCarrier>("DA_RailCarrier", 1, 0, "DA_RailCarrier");
    

    Die Klasse ist wie folgt deklariert:

    class DA_RailCarrier : public QObject, public WST_FSM
    

    Beim Kompilieren bekomme ich folgendes
    **C2660: 'WST_FSM::operator new': function does not take 2 arguments
    **
    Der Fehler zeigt auf createInto in qqmlprivate.h:

    void Q_QML_EXPORT qdeclarativeelement_destructor(QObject *);
        template<typename T>
        class QQmlElement : public T
        {
        public:
            virtual ~QQmlElement() {
                QQmlPrivate::qdeclarativeelement_destructor(this);
            }
        };
    
        template<typename T>
        void createInto(void *memory) { new (memory) QQmlElement<T>;
    

    Ich habe versucht #include <new> zu verwenden in WST_FSM, gleiches Ergebnis.

    WST_FSM ist eigentlich keine Q_OBJECT abgeleitete Klasse, während der Fehlersuche hab ich's testweise zu QObject gemacht. Kein Erfolg

    Weiß einer weiter? Vielen Dank.

    Markus

    System Info:

    Qt 5.4.1
    Compiler MSVC2013


Anmelden zum Antworten