0

私は QCoreApplication で位置の更新を取得しようとしています。以下は私が試しているコードですが、次のようにエラーが発生しています

QObject::connect: Cannot connect (null)::positionUpdated(QGeoPositionInfo) to QObject::positionUpdated(QGeoPositionInfo)

コード:

#include <QCoreApplication>
#include <QDebug>
#include <QObject>
#include <QtCore>


class MyClass : public QObject
{
//    Q_OBJECT
public:
    MyClass(QObject *parent = 0)
        : QObject(parent)
    {
        qDebug() << "In class";

        QGeoPositionInfoSource *source = QGeoPositionInfoSource::createDefaultSource(this);
        qDebug() << source;
            connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
                    this, SLOT(positionUpdated(QGeoPositionInfo)));
            source->startUpdates();
    }

private slots:
    void positionUpdated(const QGeoPositionInfo &info)
    {
        qDebug() << "Position updated:" << info;
    }
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug("Qt running !");

    MyClass *objmyclass = new MyClass;

    return a.exec();
}

Q_OBJECT のコメントを外すと、次のようなエラーが発生します。

:-1: error: the vtable symbol may be undefined because the class is missing its key function
4

0 に答える 0