Пытаюсь с QByteArray получить указатель на данные с помощью data(),
ругается:
ошибка: invalid conversion from 'const char*' to 'char*' [-fpermissive]
char * TempPtrBuff = ARes.data();
В документации пишется, что возвращается char *
Почему может возникать ошибка?
Ответ
Результат вывода QByteArray::data() зависит от константности метода, в котором производится вызов обозначенной функции. Проще говоря:
void MyClass::method() {
char *data = ARes.data();
}
void MyClass::method() const {
const char *data = ARes.data();
}
Соответственно, если вывод QByteArray::data() отличен от желаемого, то измените константность метода или осуществите приведение типа, например, тем же const_cast
Комментариев нет:
Отправить комментарий