96 23 C:\Users\Administrator\Desktop\4.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
时间: 2024-05-13 15:19:45 浏览: 114
这个警告是因为你在使用一个字符串常量来初始化一个 `char*` 类型的指针变量,这种写法在 C++11 标准之前是合法的,但是在 C++11 标准之后被废弃了,因为字符串常量是只读的,不能通过指针变量修改它们的值,如果你想要修改字符串常量的值,应该使用字符数组类型的变量来代替指针变量。
解决这个警告的方法有两种:
1. 将 `char*` 类型的指针变量改为 `const char*` 类型的指针变量,这样编译器就不会报警告了,但是你需要注意不能通过指针变量修改字符串常量的值。
2. 将 `char*` 类型的指针变量改为字符数组类型的变量,这样就可以修改字符串常量的值了,但是你需要注意数组的大小,不能越界。
例如,将 `char*` 类型的指针变量改为 `const char*` 类型的指针变量的代码如下:
```c++
const char* str = "Hello, world!";
```
将 `char*` 类型的指针变量改为字符数组类型的变量的代码如下:
```c++
char str[] = "Hello, world!";
```
阅读全文