vs2017 :C2440 错误,无法从 const char[] 转换为 char*问题解决

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2017 :C2440 错误,无法从 const char[] 转换为 char*问题解决相关的知识,希望对你有一定的参考价值。

错误

在这里插入图片描述

原因

新标准中,不能把指针指向一串常量

解决

方案一:引入[]

char*str = “hello world”;

改成:

char str_tmp[] = “hello world”;
char *str = str_tmp;

方案二:加const

char*str = “hello world”;

改成:

const char*str = “hello world”;

方案三:

右键打开项目属性
在这里插入图片描述
找到语言的符合模式改为否就可以了。
在这里插入图片描述

以上是关于vs2017 :C2440 错误,无法从 const char[] 转换为 char*问题解决的主要内容,如果未能解决你的问题,请参考以下文章

错误 C2440:“static_cast”:无法从“void (__thiscall Visualizza::*)(char [])”转换为“AFX_PMSG”

VS 2010 中的 C++ 中的 static_cast 无法从 void* 转换为 size_t 错误

错误 C2440:“=”:无法从“const char *”转换为“char *”

由于从 C 到 C++ 的类型转换,无法编译并出现错误 C2440

错误 C2440:“static_cast”:无法从“long”转换为“LRESULT”

错误 C2440:“默认参数”:无法从“const wchar_t [1]”转换为“BSTR”