欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-23 09:11:15
2019-05-26 21:55:08 前几天在敲代码时,将字符串“Hellow world!”赋值给指针char*类型指针时编译器报错的问题 网上搜索后发现 char*是历史遗留问题,如果程序修改了字符变量变量会有可能导致程序的崩溃, 2019版本的VS对此进行了严格控制,编译器会报错(C2440 ......

2019-05-26   21:55:08

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

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

网上搜索后发现

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

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

编译器错误c2440微软visual studio 2019官方文档如下图:

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

关于编译器错误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"采用字符数组

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