C error:deprecated conversion from string constant to 'char*' [-Wwrite-strings]
问题描述
-
解决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即可。