ISO C++ forbids declaration of ... with no type

Łukasz W. picture Łukasz W. · May 8, 2011 · Viewed 19.7k times · Source

I'm using C++ to make a Qt mobile application for maemo.

I have my class declaration, but I get this error:

ISO C++ forbids declaration of 'QGeoPositionInfoSource' with no type

My code is following:

phonehelper.h

#ifndef PHONEHELPER_H
#define PHONEHELPER_H

#include <QObject>
#include <QGeoPositionInfoSource>


class PhoneHelper : public QObject
{
    Q_OBJECT

public:
    explicit PhoneHelper(QObject *parent = 0);
    void GetGPSData(const char * callbackSlot);

private:
    /*
     * The error occures here on the line below */
    QGeoPositionInfoSource *gpsSource;         // PROBLEM HERE

private slots:
    void positionUpdated(const QGeoPositionInfo &info);
};

#endif // PHONEHELPER_H

phonehelper.cpp

#include "phonehelper.h"

PhoneHelper::PhoneHelper(QObject *parent) :
    QObject(parent)
{
}

PhoneHelper::GetGPSData(const char *callbackSlot)
{
    gpsSource = QGeoPositionInfoSource::createDefaultSource(this);
             if (gpsSource) {
                 connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
                         this, SLOT(positionUpdated(QGeoPositionInfo)));
                 connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
                         this, SLOT(callbackSlot(QGeoPositionInfo)));
                 gpsSource->startUpdates();
             }
}

PhoneHelper::positionUpdated(const QGeoPositionInfo &info)
{
        gpsSource->stopUpdates();
        delete gpsSource;
}

Project.pro

DEPLOYMENTFOLDERS = # file1 dir1

symbian:TARGET.UID3 = 0xE0EEBE99


symbian:TARGET.CAPABILITY += NetworkServices

# MOBILITY variable.
CONFIG += mobility
MOBILITY += location

SOURCES += main.cpp mainwindow.cpp \
    phonehelper.cpp
HEADERS += mainwindow.h \
    phonehelper.h
FORMS += mainwindow.ui


include(deployment.pri)
qtcAddDeployment()

What does the above error mean?

Answer

Łukasz W. picture Łukasz W. · May 8, 2011

I did not see that I had to use QtMobility namespace like this using namespace QtMobility;