ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 96 | AliyunIoTSDK::bindData("LEDSwitch", LEDCallback);
时间: 2024-04-21 16:26:30 浏览: 175
这是一个编译器错误提示,意思是ISO C++标准禁止将字符串常量转换为'char *'类型。这是因为字符串常量是只读的,而'char *'类型的变量可以被修改。如果需要在函数中修改字符串,应该使用'char []'类型的数组来存储字符串。如果确实需要将一个字符串常量传递给'char *'类型的参数,可以使用const修饰符来避免编译器报错。例如:const char* str = "hello world";
相关问题
iso c++ forbids converting a string constant to 'char*' [-wwrite-strings]
这个错误信息是因为在 C++ 中,字符串常量(例如 "hello")默认是 const char* 类型,不能直接赋值给 char* 类型的变量。因为字符串常量是只读的,如果将其赋值给 char* 类型的变量,就可以通过这个变量修改字符串常量的内容,这是不被允许的。
解决这个问题的方法是将变量的类型改为 const char*,或者使用 strcpy() 函数将字符串常量的值复制到 char* 类型的变量中。
iso c++ forbids converting a string constant to ‘char*’ [-wwrite-strings]
这个错误信息的意思是ISO C++不允许将字符串常量转换为'char *',即不允许将一个字符串常量赋值给一个非常量的字符指针。这是因为字符串常量是只读的,而非常量的字符指针可以修改其指向的内存。为了避免这个错误,可以将字符指针声明为常量,或者使用const char *来表示字符串常量。
阅读全文