E0144 “const char *” 类型的值不能用于初始化

在VisioStudio中编写C++代码时遇到E0144错误,该错误涉及将`constchar*`类型初始化为`char*`。文章提出了两种解决方案:1)将`char*`变量声明改为`constchar*`;2)在项目属性中将“符合模式”设置为“否”。方法2适用于VisioStudio2015之前的版本,原本默认为“否”,更改后可解决问题。
摘要由CSDN通过智能技术生成

使用Visio Studio写C++的项目时,定义如下形式的字符串char *text = “XXX”,总是会出现
E0144 “const char *” 类型的值不能用于初始化 “char *” 类型的实体这样的错误。

    #include<stdio.h>
     
    void main()
    {
        char* string = "I love Fishc.com!";
        printf("%s\n", string);
    }

我就发现了几种解决方法,现在整理一下,省的以后忘了。
方法1:
把char* 改成const char*
这个问题其实在声明变量 char* 时改成 const char *声明就在主函数调用时就不会在报错了。
但是又出现了这样的错误。

    #include<stdio.h>
     
    void main()
    {
        const char* string = "I love Fishc.com!";
        printf("%s\n", string);
    }

所以我就发现了方法2。

方法2:在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言”中,把“符合模式”改为“否”就好了。
关于这个方法2,在Visio Studio2015之前是没有这个选项的,默认就是否。
所以改了,就好了……

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值