C error:deprecated conversion from string constant to 'char*' [-Wwrite-strings]

发布时间 2023-10-05 14:08:04作者: starc再起航

问题描述

  • 解决C++中[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  • char *string= "aaabbbcc"; //warning的原因是字符串常量存放在const内存区...

原因

  • 主程序初始化字符串,是字符串常量, 该字符串的内存分配在全局的const内存区。
  • 而char* 声明了一个指针,而这个指针指向的是全局的const内存区,const内存区当然不会让你想改就改的。所以,如果你一定要写这块内存的话,那就是一个非常严重的内存错误。

修改

  • char* s 改为 char s[]即可。
  • char* s 改为 const char* s即可。