#include <iostream>
using namespace std;

int fuc(char *a)
{
    cout << a << endl;
}
int main()
{
    fuc("hello");
}

Linux 环境下当GCC版本比较高时,编译代码可能出现的问题

问题是这样产生的,先看这个函数原型:

1

void someFunc(char *someStr);

再看这个函数调用:

1

someFunc("I'm a string!");

把这两个东西组合起来,用最新的g++编译一下就会得到标题中的警告。

为什么呢?原来char *背后的含义是:给我个字符串,我要修改它。

而理论上,我们传给函数的字面常量是没法被修改的

所以说,比较和理的办法是把参数类型修改为const char *。

这个类型说背后的含义是:给我个字符串,我只要读取它。

如何同时接收const类型和非const类型?重载

#include <iostream>

using namespace std;

int fuc(char *a)

{

    cout << a << endl;

}

int fuc(const char *a)

{

    cout << a << endl;

}

int main()

{

    char a[] = "hello 123";

    fuc(a);

    const char b[] = "hello 123";

    fuc(b);

}

warning:deprecated conversion from string constant to 'char *' 解决方案相关推荐

  1. deprecated conversion from string constant to ‘char*’

    deprecated conversion from string constant to 'char*' #include <iostream> using namespace std; ...

  2. C++: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]

    不允许将字符串常量,给char指针. warning.c: In function 'int main()': warning.c:9:19: warning: ISO C++ forbids con ...

  3. linux c++ 警告 warning: ISO C++ forbids converting a string constant to ‘char*‘ [-Wwrite-strings] 解决方法

    在C++中, char* p = "abc"; // valid in C, invalid in C++ 会跳出警告:warning: ISO C++ forbids conve ...

  4. warning: ISO C++ forbids converting a string constant to ‘char*‘ [-Wwrite-strings]

    warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 在C++11中有明确规定 char ...

  5. C++11编译问题:warning: ISO C++11 does not allow conversion from string literal to ‘char *‘

    在新写的采用C++11标准的编译器里,进行编译以后,原来没有任何提示的语句,竟然出现如下问题: char* a="abc"; std::cout << a <&l ...

  6. arm linux c++编译警告:ISO C++ forbids converting a string constant to ‘char*’(需要把const char*转换成char*)

    编译时遇到警告: /home/yg/rv/sdk/rv1.8/rv1126_rv1109/buildroot/output/rockchip_rv1126_rv1109/build/ky_ai_cam ...

  7. 「 C/C++疑难杂症 」warning: ISO C++ forbids converting a string constant to ‘CHAR*’ {aka ‘char*’} [-Wwrite

    文章目录

  8. linux c++ 警告: ISO C++ forbids converting a string constant to char*

    在C++11中有明确规定 char* p = "abc"; // valid in C, invalid in C++ 如果你进行了这样的赋值,那么编译器就会跳出诸如标题的警告.但 ...

  9. Warning: Missing charsets in String to FontSet conversion

    当出现Warning: Missing charsets in String to FontSet conversion时 输入export LANG=C即可解决

最新文章

  1. sell02 展现层编写
  2. HDU 2476 String painter (区间DP)
  3. oracle 删除空间不足,oracle表空间扩容、创建、删除(解决表空间不足问题)
  4. char *与char []
  5. 1w存银行一年多少利息_100万存银行一年利息多少?能赚多少钱?
  6. 一级域名301重定向到www二级域名
  7. 力软敏捷开发框架源码7.0.6解析
  8. U盘强制格式化的解决方案
  9. 580刷590bios_RX580 2048sp刷vbios降为RX570 用上黑苹果美滋滋
  10. IDEA 找不到或无法加载主类
  11. 国际商业分析师CBAP认证与PMI-PBA认证的区别——上海信息化培训中心
  12. 简单易用的APIv3版微信支付SDK
  13. 《计算机网络基础》笔记 -----应用层(六)
  14. iMazing中IPA文件的介绍与管理
  15. 三八节活动答题运营复盘
  16. 【技巧】vs2019调试
  17. 服务器固态盘和机械盘哪个好
  18. 【20保研】热忱欢迎全国2020届优秀本科毕业生免试攻读重庆大学研究生
  19. 7月刊精彩推荐 李德毅:云计算热点分析
  20. java中什么路径_Java中的路径问题

热门文章

  1. 机器学习算法 - 随机森林之决策树初探(1)
  2. macos 下 vmware fusion 安装 vmware tools教程
  3. python excel取列_python取excel表格第一列数据-python操作excel,使用xlrd模块,获取某一列数据的......
  4. 第5课 开心的金明《聪明人的游戏:信息学探秘.提高篇》(优化空间)
  5. 1.5编程基础之循环控制 01 求平均年龄
  6. 利用python制作的可视化批量文件后缀处理工具
  7. 09产品经理要明白的人性思维-营销推广篇
  8. HarmonyOS应用如何开发,使用什么开发工具及安装使用教程说明!
  9. php输出excel表格乱码和第一个0不显示的解决方法(详细)
  10. python发邮件实例_python 发送邮件实例