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

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

问题



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


解决


强制转化


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


例如这样:


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


改为.c文件


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



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


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

相关文章
|
10月前
|
存储 编译器 C语言
c语言中char的作用类型
c语言中char的作用类型
311 0
|
4天前
|
存储 SQL 关系型数据库
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为&#39;0&#39;或&#39;1&#39;,查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
|
1月前
|
存储 SQL 关系型数据库
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
|
6月前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
138 2
java基础(9)数据类型中的char类型以及涉及到的转义字符
|
5月前
|
SQL 存储 关系型数据库
SQL判断CHAR类型字段不为空的方法与技巧
在SQL查询中,判断一个CHAR类型字段是否不为空是一个常见的需求
|
7月前
|
存储 自然语言处理 编译器
C语言中的char类型
C语言中的char类型
559 1
|
10月前
|
存储 关系型数据库 MySQL
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
本篇文章来讨论MySQL字段的字符类型选择并深入实践char与varchar类型的区别以及在千万数据下的性能测试
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
|
9月前
详细解读C++char类型函数
详细解读C++char类型函数
97 0
|
9月前
|
C++
E0144 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
E0144 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
163 0
|
10月前
|
C++
【C++】std::string 转换成非const类型 char* 的三种方法记录
【C++】std::string 转换成非const类型 char* 的三种方法记录
296 0

热门文章

最新文章