C++无法从“const char[ ]”转换为“char *”问题及解决

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

© 版权声明
THE END
支持一下吧
点赞13 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容