0

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&”,我应该在那里传递什么

4

5 回答 5

5

这是一个单例类,你可以像这样访问它:

QGeoServiceProvider::routingManager().

检查文档

于 2011-05-24T07:30:23.503 回答
2

如果该类没有公共(默认)构造函数,不能(直接)创建它的新实例,无论是在堆栈上还是在空闲存储(堆)上。您只能创建现有副本的副本,但文档没有显示可用的副本 ctor。

如果有工厂函数/类来创建该类的实例,请查看文档。

于 2011-05-24T07:27:13.663 回答
0

该类QGeoRoutingManager没有默认构造函数。默认构造函数是不带任何参数的构造函数。如果需要,那么它们是可选的(具有默认值)。

于 2011-05-24T07:27:43.943 回答
0

我想你需要QGeoRoutingManager * QGeoServiceProvider::routingManager () const

在这里查看:https ://doc-snapshots.qt.io/qt-mobility/qgeoserviceprovider.html

于 2011-05-24T07:36:26.317 回答
0

该类确实有一个构造函数;所有类都有一个构造函数。该类显然没有默认构造函数。你没有向我们展示这个类,所以我们不得不猜测,但从错误信息来看,这个类确实有一个复制构造函数。你提供了吗?只要有任何用户定义的构造函数,编译器就不会生成默认构造函数;您也必须提供其中之一。

于 2011-05-24T09:05:12.510 回答