问题
![](https://ucc.alicdn.com/images/user-upload-01/e333c8c71a114437bc4114e6f109ffac.png?x-oss-process=image/resize,w_1400/format,webp)
我想,问题肯定大多是出现在大家从网上复制下来代码,粘贴到VS上,然后发现报错。
解决
强制转化
首先瞅瞅你的源文件类型<如果是 .cpp
文件,也就是C++文件,那么你这样写是错误的,在C语言里不强制转换void *
不会报错,但是在C++里不行,所以改法是:对void *
进行强制类型转化。
例如这样:
char* p = (char *)malloc(sizeof(char) * 64);
改为.c文件
或者将 .cpp
改为 .c
就可以了
![](https://ucc.alicdn.com/images/user-upload-01/411fc3e80cc840dfbef02ece4e4bf82a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5rWB5qWa5Li25qC85b-1,size_15,color_FFFFFF,t_70,g_se,x_16&x-oss-process=image/resize,w_1400/format,webp)
在c文件中运行不会报错,不用强转
当然,上面两种方法用哪个得看你是在什么开发环境中。