-
error: invalid operands of types 'const char*' and 'const char [2]' to binary 'operator+'
https://blog.csdn.net/qq_42127861/article/details/120230040
字符串拼接最好不要使用+号,用sprintf替代。 -
deprecated conversion from string constant to ‘char’
https://www.mchweb.net/mcsys/1650858299314184192.html
https://blog.csdn.net/djw931017/article/details/79369107
https://www.cnblogs.com/starcos/p/17743275.html
问题描述
解决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即可。
0 条评论