今天在编译UVA底层时提示warning: deprecated conversion from string constant to "char *" 错误,google后总结的结果如下:
原来char *背后的含义是:给我个字符串,我要修改它。而理论上,我们传给函数的字面常量是没法被修改的。所以说,比较
和理的办法是把参数类型修改为const char *。这个类型说背后的含义是:给我个字符串,我只要读取它。很自然的延伸一下。 如果我既要传字面常量又要传字符串变量,需重载。
本文详细解释了在编译UVA底层时遇到的warning错误,即从字符串常量转换到char*的问题。通过深入探讨char*的含义以及与字符串常量的不兼容性,提出将参数类型更改为const char*的解决方案,并阐述了此变更背后的原因。同时,文章还讨论了在传递字面常量和字符串变量时的正确做法,包括如何重载函数以适应不同需求。
今天在编译UVA底层时提示warning: deprecated conversion from string constant to "char *" 错误,google后总结的结果如下:
原来char *背后的含义是:给我个字符串,我要修改它。而理论上,我们传给函数的字面常量是没法被修改的。所以说,比较
和理的办法是把参数类型修改为const char *。这个类型说背后的含义是:给我个字符串,我只要读取它。很自然的延伸一下。 如果我既要传字面常量又要传字符串变量,需重载。
1475
3万+
4万+

被折叠的 条评论
为什么被折叠?