许久不用Visual Studio了,今天安装回来,遇到了一个环境问题:
代码为:
char* text = "Hello world";
报错为:
E0144 “const char *” 类型的值不能用于初始化 “char *” 类型的实体

有人说是因为VS版本的原因,之前的VS版本可写成如图所示,而在VS2017中,此写法会报错,新版本(2019)对这个进行了更严格的控制。
解决办法:
可以先用字符数组存储,再将数组名赋值给指针。如下图所示:

亲测有效!
本文解决了一个在VisualStudio2017中遇到的字符串初始化问题,当尝试直接初始化char*指针时,编译器报错。文章提供了有效的解决方法,即先使用字符数组存储字符串,再将数组名赋给指针。
许久不用Visual Studio了,今天安装回来,遇到了一个环境问题:
代码为:
char* text = "Hello world";
报错为:
E0144 “const char *” 类型的值不能用于初始化 “char *” 类型的实体

有人说是因为VS版本的原因,之前的VS版本可写成如图所示,而在VS2017中,此写法会报错,新版本(2019)对这个进行了更严格的控制。
解决办法:
可以先用字符数组存储,再将数组名赋值给指针。如下图所示:

亲测有效!
6725
1万+

被折叠的 条评论
为什么被折叠?
