#include <stdlib.h>

int main()
{
int *p = malloc(sizeof(int));

return 0;
}

Cだとコンパイルできますが、C++だと型変換エラーで
コンパイルできませんでした。
mallocはvoidのポインタを返し、voidポインタは任意のポインタ
に代入可能なはずですが、何が違うのでしょうか?