VS2022中使用QT:E0304 没有与参数列表匹配的 重载函数 “QByteArray::append“ | 您所在的位置:网站首页 › vs2022企业版注册码 › VS2022中使用QT:E0304 没有与参数列表匹配的 重载函数 “QByteArray::append“ |
报错问题:E0304 没有与参数列表匹配的 重载函数 “QByteArray::append” 实例 Calculator0713 C:\Users\Administrator\source\repos\Calculator0713\Calculator0713.cpp 125 起因是需要把一个string类型的变量改变成char类型,于是在头文件中定义了QString expression;这个变量,并且在功能文件中编写如下代码: //把QString转换成char * QByteArray ba; ba.append(expression); //把QString转换成QByteArray strcpy(opt, ba.data()); //data可以把QByteArray转换成const char *然后就报错了↓ 即:将string类型的expression变量通过toLatin1()方法转变为char类型后,再赋值到char类型的ba变量中。 QString的toLocal8bit和toLatin1都可以将QString转化为QByteArray,但是两者的区别在于编码的不同: toLocal8Bit:Unicode编码 toLatin1:ASCII编码 参考文章: qt中的toUtf8, toLatin1, Local8bit, toUcs4 QString的toLocal8bit与toLatin1的区别 |
CopyRight 2018-2019 实验室设备网 版权所有 |