首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接函数BlackBerry-10中出现错误

连接函数BlackBerry-10中出现错误
EN

Stack Overflow用户
提问于 2012-12-18 07:32:57
回答 1查看 475关注 0票数 0

嗨,我正在尝试发送一个HTTP请求,并使用函数接收结果。但是我发现了一个错误:

对于调用'HttpNetworkRequest::connect(QNetworkAccessManager*&,const *、RequestFinishFunction&、const *)没有匹配函数

连接函数位于此HttpNetworkRequest.cpp文件中。

代码语言:javascript
复制
#include "HttpNetworkRequest.hpp"
#include <QObject>
#include <QIODevice>
#include <QDir>

#include <bb/cascades/Application>
#include <bb/cascades/QmlDocument>
#include <bb/cascades/AbstractPane>
#include <bb/cascades/XmlDataModel>
#include <RequestFinishFunction.hpp>
using namespace bb::cascades;

HttpNetworkRequest::HttpNetworkRequest(bb::cascades::Application *app)
: QObject(app)
{
QNetworkRequest networkRequest = QNetworkRequest();
networkRequest.setUrl(QUrl("http://www.blackberry.com"));
RequestFinishFunction req;
QNetworkAccessManager *networkAccessManager = new QNetworkAccessManager;
bool res =        connect(networkAccessManager,SIGNAL(finished(QNetworkReply*)),
    req,SLOT(requestFinished()));
Q_ASSERT(res);
Q_UNUSED(res);
networkAccessManager->get(networkRequest);
}

包含的RequestFinishFunction.hpp

代码语言:javascript
复制
#ifndef REQUESTFINISHFUNCTION_HPP_
#define REQUESTFINISHFUNCTION_HPP_
#include <bb/cascades/ActivityIndicator>
#include <QObject>
#include <QObject>
class RequestFinishFunction : QObject
{
public slots:
void requestFinished(QNetworkReply* reply);
};
#endif /* REQUESTFINISHFUNCTION_HPP_ */

RequestFinishFunction.cpp文件是

代码语言:javascript
复制
#include <bb/cascades/ActivityIndicator>
#include <QObject>
#include <QObject>
#include <RequestFinishFunction.hpp>
void RequestFinishFunction::requestFinished(QNetworkReply* reply)
{
    reply->deleteLater();
}
EN

回答 1

Stack Overflow用户

发布于 2012-12-18 08:29:27

连接方法语法

bool QObject::connect ( const QObject *发件人,const char * signal,const QObject *接收器,const char *方法,Qt::ConnectionType = Qt::AutoConnection )

我们必须传递发送方和接收方的引用

你没有发送收信人的推荐信。您有两个选择可以这样做。

1)在连接方法调用中使用&操作符发送req的引用

替换

连接(networkAccessManager,信号(完成(QNetworkReply*)),req,时隙(requestFinished();

使用

连接(networkAccessManager,信号(完成(QNetworkReply*)),&req,时隙(requestFinished();

2)将req声明为指针。

替换

RequestFinishFunction req;

使用

RequestFinishFunction *req;

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13928326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档