C++无法从“const char[ ]”转换为“char *”
高版本VS中(VS2017 ,VS2019)
解决方法
1:在项目属性中 ,把复合模式更改为 ‘否’
2:使用强制类型转换:
//char* p1 = "1234"; char* p1 = (char *)"1234";
3:使用数组首地址赋值指针
char str[10] = "123"; char* s1 = str;
具体原原因
个人理解 C++ 语法检测很严格 ,赋值或初始化类型必须一致,看下面代码
char ch1[] = "123"; cout << typeid(ch1).name() << endl; char* pstr = nullptr; cout << typeid(pstr).name() << endl; auto s1 = "1234"; cout << typeid(s1).name() << endl;
输出:变量类型都不一致 ,所以要设定兼容性或者 强制转换。
配置输出文件目录:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源链接:https://www.jb51.net/program/339415zz9.htm
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容