недопустимое преобразование из `void * 'в` char *' при использовании malloc?

У меня проблемы с приведенным ниже кодом с ошибкой в ​​строке 5:

ошибка: недопустимое преобразование из void * в char *

I Я использую g ++ с кодовыми блоками, и я попытался скомпилировать этот файл как файл cpp. Имеет ли это значение?

#include <openssl/crypto.h>
int main()
{
    char *foo = malloc(1);
    if (!foo) {
        printf("malloc()");
        exit(1);
    }
    OPENSSL_cleanse(foo, 1);
    printf("cleaned one byte\n");
    OPENSSL_cleanse(foo, 0);
    printf("cleaned zero bytes\n");
}
55
задан gsamaras 29 January 2015 в 14:03
поделиться