void 类型不能用来初始化char* 类型的实体

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了void 类型不能用来初始化char* 类型的实体相关的知识,希望对你有一定的参考价值。

问题

我想,问题肯定大多是出现在大家从网上复制下来代码,粘贴到VS上,然后发现报错。

解决

强制转化

首先瞅瞅你的源文件类型<如果是 .cpp 文件,也就是C++文件,那么你这样写是错误的,在C语言里不强制转换void *不会报错,但是在C++里不行,所以改法是:对void * 进行强制类型转化。

例如这样:

char* p = (char *)malloc(sizeof(char) * 64);

改为.c文件

或者将 .cpp 改为 .c 就可以了


在c文件中运行不会报错,不用强转

当然,上面两种方法用哪个得看你是在什么开发环境中。

以上是关于void 类型不能用来初始化char* 类型的实体的主要内容,如果未能解决你的问题,请参考以下文章