Выделение памяти для указателя класса - PullRequest
0 голосов
/ 24 мая 2011

QGeoRoutingManager: http://apidocs.meego.com/1.0/qtmobility/qgeoroutingmanager-members.html

Этот класс не имеет конструктора.Я забыл способ выделения памяти для его указателя.

Я сделал:

QGeoRoutingManager *a = new QGeoRoutingManager ();

Это приводит к ошибке:

calculateRoute.cpp:16: error: no matching function for call to ‘QtMobility::QGeoRoutingManager::QGeoRoutingManager()’
../../../../tarBalls/qt-mobility-opensource-src-1.2.0/install/include/QtLocation/qgeoroutingmanager.h:91: note: candidates are: QtMobility::QGeoRoutingManager::QGeoRoutingManager(const QtMobility::QGeoRoutingManager&)

Что мне передатьтам, согласно сообщению об ошибке "const QtMobility :: QGeoRoutingManager &"

Ответы [ 5 ]

5 голосов
/ 24 мая 2011

Это класс синглтона, доступ к нему можно получить следующим образом:

QGeoServiceProvider::routingManager().

Проверьте документы

2 голосов
/ 24 мая 2011

Если у класса нет открытого (по умолчанию) конструктора, вы не можете (напрямую) создать его новый экземпляр ни в стеке, ни в свободном хранилище (куче).Вы можете создать копию только существующей копии, но в документах не отображается доступная копия ctor.

Просмотрите документацию, если есть фабричная функция / класс для создания экземпляров этого класса.

0 голосов
/ 24 мая 2011

У класса есть конструктор;у всех классов есть конструктор.Класс, по-видимому, не имеет конструктора по умолчанию.Вы не показываете нам класс, поэтому мы должны догадаться, но из сообщения об ошибке у класса есть конструктор копирования.Вы предоставили это?Как только появятся какие-либо определяемые пользователем конструкторы, компилятор не будет генерировать конструктор по умолчанию;Вы должны предоставить один из них тоже.

0 голосов
/ 24 мая 2011

Я думаю, вам нужно QGeoRoutingManager * QGeoServiceProvider::routingManager () const

Проверьте здесь: https://doc -snapshots.qt.io / qt-mobility / qgeoserviceprovider.html

0 голосов
/ 24 мая 2011

Класс QGeoRoutingManager имеет , а не имеет конструктор по умолчанию. По умолчанию используется конструктор, который не принимает аргументов. Если это займет, то они необязательны (со значением по умолчанию).

...