在VS2019中,写如下语句:
char* p = "aaaa" ;
会出现报错:
const char *" 类型的值不能用于初始化 "char *" 类型的实体
方法一:
const char* p = "aaaa" ;
方法二:
右键项目->属性->C/C++->语言->符合模式:选择否
搜索到原因如下:
char*是历史遗留问题,如果程序修改了字符变量变量会有可能导致程序的崩溃,
2019版本的VS对此进行了严格控制,编译器会报错(C2440)
关于编译器错误C2440微软官方给出更多详细详细的解释点下方链接:
本文介绍了在Visual Studio 2019中遇到的编译器错误C2440,探讨了如何通过const char*类型绕过限制,以及历史遗留问题和2019版VS对字符指针初始化的严格控制。还提供了微软官方文档链接,帮助开发者理解和解决此类问题。
3918

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



