Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > некорректное преобразование из ‘void*’ в ‘unsigned


Автор: Atilla360 6.5.2010, 14:48
Qt Fedora

переделываю один проект

в ходе выдало такую ошибку

/home/atilla/AtiDmi/main.cpp:366: ошибка: некорректное преобразование из ‘void*’ в ‘unsigned char*’

Код

unsigned char *buf=malloc(len);


Переменная len типа интеджер. 

Подскажите как решить проблемму.

Спасибо.

Автор: SenkraD 6.5.2010, 15:48
Atilla360,  так
Код
unsigned char *buf=(unsigned char*)malloc(len);
// или так, если С++
unsigned char *buf= reinterpret_cast<unsigned char*>(malloc(len));
//unsigned char *buf= new unsigned char[len];
// ещё можно с векторами, но думаю это лишне

Автор: bsa 12.5.2010, 12:36
SenkraD, на C++ преобразовывать к/из void* лучше через static_cast<>(). reinterpret_cast использовать вообще не рекомендуется.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)