Studio 2017 , Visual Studio 2019 或 更高版本 ;
在 Visual Studio 2013 中 , 不会报错 ;
在 下面的 fun 函数中 , 接收一个 char*...这是 const char* 类型 , 二者的参数类型不匹配 ;
解决上述问题的思路 :
修改 函数参数类型 ;
修改 实参类型 ;
设置 Visual Studio 编译环境的 兼容配置 ;
三、解决方案...1、设置 Visual Studio 的兼容规则
设置 Visual Studio 的兼容规则 :
右键点击 解决方案资源管理器 中的 解决方案 , 在弹出的菜单中选择 最后一项 属性 选项 ,
打开后..., 进入到 配置属性 / C/C++ / 语言 面板中 , 查看当前的 符合模式 配置 是 " 是(/permissive-) " ,
将 符合模式 的 配置 修改为 " 否 " ,
此时程序可以正常执行..., 这里使用 C++ 中的强制类型转换 , 将 常量 转为 非常量 , 使用 const_cast 操作符进行转换 ,
fun(const_cast("Hello"));
完整代码示例