错误:没有用于调用“QNetworkAccessManager::QNetworkAccessManager(Networking* const)”的匹配函数
Posted
技术标签:
【中文标题】错误:没有用于调用“QNetworkAccessManager::QNetworkAccessManager(Networking* const)”的匹配函数【英文标题】:error: no matching function for call to 'QNetworkAccessManager::QNetworkAccessManager(Networking* const)' 【发布时间】:2014-09-10 12:10:06 【问题描述】:这是我的文件。我有一些问题。
// networking.h
#ifndef NETWORKING_H
#define NETWORKING_H
#include <QNetworkReply>
class Networking
public:
Networking();
void getNetReply();
void replyFinished(QNetworkReply*);
;
#endif // NETWORKING_H
//networking.cpp
#include "networking.h"
#include <QtNetwork/QNetworkAccessManager>
#include <QUrl>
#include <QNetworkRequest>
#include <QObject>
Networking::Networking()
void Networking::getNetReply()
QNetworkAccessManager * man;
man = new QNetworkAccessManager(this);
qDebug() << "Getting content..." << endl;
QNetworkRequest request(QUrl("http://www.google.pl"));
qDebug() << "Network request..." << endl;
QNetworkReply * NetRepl;
QObject::connect(man, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply*)));
NetRepl = man->get(request);
qDebug() << "Network reply..." << endl;
qDebug() << "Connecting..." << endl;
void Networking::replyFinished(QNetworkReply* reply)
// my code
reply->readAll();
我的错误信息。我搜索了很多并阅读了文档:
错误:没有匹配的调用函数
QNetworkAccessManager::QNetworkAccessManager(Networking* const)
man = new QNetworkAccessManager(this)
;20: 错误:没有匹配的调用函数
QObject::connect(QNetworkAccessManager*&, const char*, Networking*
const, const char*)
QObject::connect(man, SIGNAL(finished(QNetworkReply *)), this,
SLOT(replyFinished(QNetworkReply*)));
【问题讨论】:
【参考方案1】:在没有;
的类中添加Q_OBJECT
宏
class Networking : public QObject
Q_OBJECT
public:
Networking();
void getNetReply();
并重建所有项目
没有这个宏moc
找不到你的类,你不能使用信号/槽机制。此外,您的类应该显式或隐式地从 QObject
派生。
【讨论】:
感谢您的回答。我仍然收到这些错误消息以上是关于错误:没有用于调用“QNetworkAccessManager::QNetworkAccessManager(Networking* const)”的匹配函数的主要内容,如果未能解决你的问题,请参考以下文章
调用 EJB 的 JNDI JBoss 错误 - 没有可用于处理的 EJB 接收器
c++ 错误:没有匹配的函数用于从函数内调用“getline”,但在 main 中有效