c++将const对象引用传递给函数

标签 c++ reference constants

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/

相关文章:

c++ - 对数组的引用究竟如何工作?

C++ 重载运算符 < 错误

c - 在函数原型(prototype)中的 char * param 中添加/*const*/而不是 const 限定符

c++ - C++ 中奇怪的类型不匹配

c++ - C++ 中的积分(数学)

c++ - 对于各种编程语言和环境,静态变量通常意味着什么?

c++ - static_cast<T> 对 T& 做了什么?

reference - 删除的迁移文件 - Laravel

c++ - 从 C++ 中的文本文件填充结构

c++ - 任务管理器的精确度如何?