C++ QT-httpget,What';怎么了?

C++ QT-httpget,What';怎么了?,c++,qt,get,qthttp,C++,Qt,Get,Qthttp,代码如下: QEventLoop eventLoop; QNetworkAccessManager mgr(); QObject::connect(mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); QUrl url(site); QNetworkRequest req(url); QNetworkReply *reply = mgr.get(req); eventLoop.exec(); if (repl

代码如下:

QEventLoop eventLoop;
QNetworkAccessManager mgr();
QObject::connect(mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
QUrl url(site);
QNetworkRequest req(url);
QNetworkReply *reply = mgr.get(req);
eventLoop.exec();

if (reply->error() == QNetworkReply::NoError) {
    cout << "Success" endl;
    delete reply;
}
else {
    cout << "Failure" endl;
    delete reply;
}
QEventLoop事件循环;
QNetworkAccessManager管理器();
QObject::connect(管理器,信号(完成(QNetworkReply*),&eventLoop,插槽(退出());
QUrl url(站点);
QNetworkRequest请求(url);
QNetworkReply*reply=manager.get(req);
eventLoop.exec();
如果(回复->错误()==QNetworkReply::NoError){
当调用此函数时,编译器认为
mgr
是一个函数声明。要解决此问题,只需更改

QNetworkAccessManager mgr();

您的
connect
中也有一个错误,它应该是这样的(请注意
mgr
之前的
&
,因为
connect
需要指针):


您有额外的括号。请使用:

QNetworkAccessManager mgr;
QNetworkAccessManager
没有无参数的构造函数,所以解析器理解它就像理解函数声明一样。 第二行中可能会出现警告,如:

: warning: empty parentheses interpreted as a function declaration [-Wvexing-parse]
QNetworkAccessManager mgr();
                         ^~
QNetworkAccessManager mgr;
: warning: empty parentheses interpreted as a function declaration [-Wvexing-parse]
QNetworkAccessManager mgr();
                         ^~