将内存分配给类的指针

时间:2011-05-24 07:23:22

标签: c++ qt pointers qt-mobility

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 个答案:

答案 0 :(得分:5)

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

QGeoServiceProvider::routingManager().

检查docs

答案 1 :(得分:2)

如果类没有公共(默认)构造函数,不能(直接)创建它的新实例,既不在堆栈上也不在free store(堆)上。您只能创建现有副本,但文档不会显示可用的副本。

查看文档是否有工厂函数/类来创建该类的实例。

答案 2 :(得分:0)

班级QGeoRoutingManager 有默认构造函数。默认构造函数是不带任何参数的构造函数。如果需要,则它们是可选的(使用默认值)。

答案 3 :(得分:0)

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

点击此处:https://doc-snapshots.qt.io/qt-mobility/qgeoserviceprovider.html

答案 4 :(得分:0)

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

相关问题