VS2019 字符串对指针char*赋值编译器报错原因及解决方法


2019-05-26   21:55:08

前几天在敲代码时,将字符串“Hellow world!”赋值给指针char*类型指针时编译器报错的问题

网上搜索后发现

char*是历史遗留问题,如果程序修改了字符变量变量会有可能导致程序的崩溃,

2019版本的VS对此进行了严格控制,编译器会报错(C2440)

编译器错误C2440微软Visual Studio 2019官方文档如下图:

关于编译器错误C2440微软官方给出更多详细详细的解释点下方链接:

https://docs.microsoft.com/zh-cn/cpp/error-messages/compiler-errors-1/compiler-error-c2440?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DZH-CN%26k%3Dk(C2440)%26rd%3Dtrue&view=vs-2019

遇到此问题解决的方法:

  1. 在声名指针时采用const char*
  2. 采用char a[] = "Hellow world"采用字符数组

运行的结果如下图


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM