error: passing 'const QByteArray' as 'this' argument of 'QByteArray& QByteArray::append(const QByteArray&)' discards qualifiers [-fpermissive]
因为在作为函数参数传递时将对象设为 const 是一种惯例,所以我已经做到了。 但现在我收到一个错误!!, 我不想使函数常量,因为我必须将 qbyte 数组中的数据转换为 short,然后将其附加到另一个数组。
QByteArray ba((const char*)m_output.data(), sizeof(ushort));
playbackBuffer.append(ba);
我真的需要将这个数组传递到playbackbuffer
;
它在 playbackBuffer.append(ba)
;
请帮忙
提前致谢
最佳答案
这意味着您正在对常量成员调用非常量成员函数。据推测,您的 append
函数修改了字节数组。使用 const 引用,您不应该进行修改。
关于c++将const对象引用传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9327437/