VS的符合模式选项

这里写自定义目录标题
参考https://bbs.csdn.net/topics/392456100
参考http://www.dengb.com/cjjc/1352000.html

项目属性->C/C+±>语言->符合模式选项的含义

/permissive-:启用所有严格标准符合性编译器选项,并禁用大部分特定于 Microsoft 的编译器扩展(但有一些例外,比如 __declspec(dllimport))。 在 Visual Studio 2017 15.5 版中此选项默认为开启状态。 /permissive- 符合性模式包括对两阶段名称查找的支持。有关详细信息,请参阅https://docs.microsoft.com/zh-cn/cpp/overview/cpp-conformance-improvements?view=vs-2017

上面的符合模式修改为否和/permissive的区别举例:
char *e = “abcd”; // /permissie模式下编译提示错误;

原因:
char*是历史遗留问题,如果程序修改了字符变量变量会有可能导致程序的崩溃,

2019版本的VS对此进行了严格控制,编译器会报错(C2440)

编译器错误C2440微软Visual Studio 2019官方文档如下图:

在这里插入图片描述
char*e = “abcd”;
这种指针定义之后是不可更改了,而使用new char[]是可以更改的。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值