QByteArray data = reply->readAll(); strResult = QString::fromUtf8(data);报错/home/ccy/daimabeifen/vtmmonitor_rizhishangchuan/vtmmonitor/CDownload.cpp:210: error: passing 'const QString' as 'this' argument discards qualifiers [-fpermissive] strResult = QString::fromUtf8(data); ^
时间: 2024-02-14 22:17:41 浏览: 108
qt.rar_Linux/Unix编程_QT_
这个错误是因为你的`strResult`变量被声明为常量,所以不能在其上调用非常量成员函数。你可以将其声明为非常量来解决这个问题,或者使用`const_cast`来去除常量性。下面是两种解决方案的示例:
1. 将`strResult`声明为非常量:
```c++
QString strResult;
QByteArray data = reply->readAll();
strResult = QString::fromUtf8(data);
```
2. 使用`const_cast`去除常量性:
```c++
const QString strResult;
QByteArray data = reply->readAll();
QString& nonConstStrResult = const_cast<QString&>(strResult);
nonConstStrResult = QString::fromUtf8(data);
```
但是,第二种解决方案并不是推荐的做法,如果不是必须去除常量性,最好还是使用第一种方法。
阅读全文