小编dar*_*ock的帖子

将QUrl传递给QNetworkRequest构造函数会导致"非类型"编译器错误

当我将QUrl传递给QNetworkRequest构造函数时,我从编译器中得到奇怪的错误.更奇怪的是,它仅在特定情况下发生,这是一个例子:

#include <QCoreApplication>
#include <QNetworkReply>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString str;

    QNetworkRequest req(QUrl(str));
    req.setUrl(QUrl(str)); // error: request for member 'setUrl' in 'req', which is of non-class type 'QNetworkRequest ()(QUrl)'

    QNetworkRequest req2(QUrl(QString("http://google.com"))); // works here perfectly!
    req2.setUrl(QUrl(str));

    QNetworkRequest req3;
    req3.setUrl(QUrl(str));

    QUrl url(str);
    QNetworkRequest req4(url);
    req4.setUrl(QUrl(str));

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

g ++ - 4.2说:

main.cpp:11: error: request for member 'setUrl' in 'req', which is of non-class type 'QNetworkRequest ()(QUrl)'
Run Code Online (Sandbox Code Playgroud)

vs2010编译器说:

error C2228: left of '.setUrl' must have class/struct/union …
Run Code Online (Sandbox Code Playgroud)

c++ g++ qt4 visual-studio-2010

4
推荐指数
1
解决办法
1985
查看次数

标签 统计

c++ ×1

g++ ×1

qt4 ×1

visual-studio-2010 ×1