#cpp
Почему-то ловлю ошибку конверсии void* в char* при использовании функции malloc. char *strLine = (char *)malloc(256); strLine = memset(strLine, 0x00, 256); Ошибка возникает именно во второй строчке. Компилятор указывает мне, мол, уважаемый пользователь, вы неверно объявили переменную strLine. Погуглил - нашёл очень похожую проблему тоже с использованием malloc, но там всё решилось добавлением этого самого **(char *)**перед malloc. Так в чём же дело? Почему мне это не помогает?
Ответы
Ответ 1
Ну, проблема у вас во второй строчке, а не в первой: strLine имеет тип char*, а memset возвращает void*. Вы могли бы скастить возвращаемое memset'ом значение в char*. Но оно вам в принципе вовсе не нужно. Просто напишите memset(strLine, 0x00, 256); Вы ж всё равно уже аллоцировали память, ничего нового из memset к вам не придёт.
Комментариев нет:
Отправить комментарий