VS C++ 2019中const char* 类型的值不能用于初始化char*的解决与理解

解决方法:
1、在char *p = “hello”的前面加const
2、或者,右键project -> 属性 -> C/C++ -> 语言 -> 符合模式:否

为什么加个const就OK了,我个人的理解,就像int &r=3;//编译器是会报错的。因为编译器觉得你可能会修改3这个常量,所以在前面加一个const,变成常引用,常引用不会修改值,所以这样就不会有问题,同样的个人觉得char前(char也是用常量文本进行初始化)加个const原理是一样的。
就变成了const char *p=“hello”;如果想解开const可以这么写:

char *p1=const_cast<char*>(p);

第二种解决办法是为什么,具体我也不知道,修改为否,把后面的英文也别忘了删掉哟!


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