warning:deprecated conversion from string constant to 'char *' 解决方案
时间: 2024-02-22 08:59:23 浏览: 118
string和char*
4星 · 用户满意度95%
这个警告信息是因为编译器发现你将一个字符串字面量赋值给了一个非常量的指针变量。因为字符串字面量是只读的,所以在某些情况下,这可能会导致不可预测的行为。为了避免这个警告,你应该将指针变量声明为指向常量的指针,或者使用 strcpy() 函数将字符串字面量复制到一个非常量的字符数组中。示例代码如下:
```
const char *str = "Hello, world!"; // 指向常量的指针
char str2[] = "Hello, world!"; // 非常量字符数组
char *str3 = new char[strlen("Hello, world!") + 1]; // 动态分配内存
strcpy(str3, "Hello, world!"); // 复制字符串
delete[] str3; // 释放内存
```
阅读全文