Sam*_*NLP 5 c++ qt converter unsigned-char qbytearray
我已经看到了很多关于这方面的问题,但到目前为止还没有人对我有用.
我已经尝试了2个最常见的答案,但我得到了同样的错误.
只是一个 unsigned char buf[10];
这个,
QByteArray databuf;
databuf = QByteArray::fromRawData(buf, 10);
Run Code Online (Sandbox Code Playgroud)
或这个,
QByteArray databuf;
databuf = QByteArray(buf, 10);
Run Code Online (Sandbox Code Playgroud)
给我同样的错误,
error: invalid conversion from 'unsigned char*' to 'const char*' [-fpermissive]
任何建议?
谢谢
这只是签名问题,所以这应该工作:
databuf = QByteArray(reinterpret_cast<char*>(buf), 10);
Run Code Online (Sandbox Code Playgroud)
或者使用传统的C风格演员:
databuf = QByteArray((char*)buf, 10);
Run Code Online (Sandbox Code Playgroud)
更容易的替代方法是unsigned从声明中删除buf,如果由于某些其他原因你不需要它.
请注意,如果您使用该fromRawData方法,则不会复制字节,因此请确保buf不会过早超出范围.如果不确定,请不要使用它......
| 归档时间: |
|
| 查看次数: |
19406 次 |
| 最近记录: |