C++中出现《E0144 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体》的错误解决方法

  • Post author:
  • Post category:其他

使用Visio Studio写C++的项目时,定义如下形式的字符串char *text = “XXX”,总是会出现
E0144 “const char *” 类型的值不能用于初始化 “char *” 类型的实体这样的错误。

#include<stdio.h>

void main()
{
	char* string = "I love Fishc.com!";
	printf("%s\n", string);
}

我就发现了几种解决方法,现在整理一下,省的以后忘了。
方法1:
把char* 改成const char*
这个问题其实在声明变量 char* 时改成 const char *声明就在主函数调用时就不会在报错了。
但是又出现了这样的错误。

#include<stdio.h>

void main()
{
	const char* string = "I love Fishc.com!";
	printf("%s\n", string);
}

所以我就发现了方法2。

方法2:在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言”中,把“符合模式”改为“否”就好了。
关于这个方法2,在Visio Studio2015之前是没有这个选项的,默认就是否。
所以改了,就好了……


版权声明:本文为m0_59949484原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。