#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. 计算机工程与科学电话,【计算机工程与科学杂志社】计算机工程与科学杂志社编辑部...
  2. 马里兰大学calce电池循环测试数据集_Keras-建立RNN(循环神经网络)
  3. MyBatis知识点学习
  4. MYSQL禁用与启用事件
  5. 《Android 开发入门》我为什么要在Android找工作越来越难的时候开始学习它
  6. python删除文件_python删除指定类型(或非指定)的文件实例详解
  7. U盘Linux游戏系统,batocera.linux U盘街机游戏系统下载
  8. 如何免费批量将caj转换成PDF
  9. 如何在excel中创建二级菜单,即选择一个类型后,下一单元格可以选择其子类型
  10. 计算机学科代表的思维,【判断题】计算思维,是指计算机、软件及计算相关学科中的科学家和工程技术人员的思维模式。计算思维又称构造思维,它以设计和构造为特征, 以计算机学科为代表。...
  11. OSPF的6种LSA
  12. linux7配置dns服务,RHEL7 DNS配置
  13. Java 操作 word 文档 (二)初识 WordprocessingML 标签
  14. 极化码:基于单项式码的极化码部分序(Partial Order)表示
  15. android搜索app下载地址,如何找出APP的URL Scheme
  16. 如何用光盘映像文件重装服务器系统,光盘映像文件怎么安装,小编教你光盘映像文件怎么安装系统...
  17. android 仿网易标签切换,高仿网易云音乐客户端的Home页面切换Tabhost-IT蓝豹
  18. Oracle数据字典使用
  19. HTML报错:UncaughtTypeError
  20. Python解析百度地图各省市经纬度(二)

热门文章

  1. 获取pheatmap热图聚类后和标准化后的结果
  2. Adobe 2022软件安装错误代码107解决办法
  3. 11届蓝桥杯青少年组C++全国赛高级组 六.编程实现:求阶乘(python3实现)
  4. 1.6 编程基础之一维数组 03 计算书费 python
  5. NOIP2002复赛 普及组 第1题
  6. VirtualBox在win10下安装一个国产深度os桌面系统的操作教程
  7. 爬get接口_网络字体反爬之起点中文小说
  8. Oracle笔记-USRS01.DBF文件过大,解决办法
  9. Spring Boot笔记-自动配置(Spring Boot封装成jar被其他项目引用)
  10. TCP/IP笔记-Qt使用Win10pcap发送以太帧(理论与实践)