Как преобразовать std:: vector в QByteArray?

Я пытаюсь создать QByteArray из std:: vector.. Я пытался;

std::vector<uint8_t> buf;
QByteArray img = new QByteArray(reinterpret_cast<const char>(buf), buf.size());

однако это дает ошибку;

error: invalid cast from type 'std::vector<unsigned char, std::allocator<unsigned char> >' to type 'const char'

1 ответов


вам нужно бросить buf.data() вместо buf:

QByteArray* img = new QByteArray(reinterpret_cast<const char*>(buf.data()), buf.size());