我有一个班级 private char str[256];
为此,我有一个显式的构造函数:
explicit myClass(const char *func)
{
strcpy(str,func);
}
Run Code Online (Sandbox Code Playgroud)
我称之为:
myClass obj("example");
Run Code Online (Sandbox Code Playgroud)
当我编译这个时,我得到以下警告:
不推荐将字符串常量转换为'char*'
为什么会这样?
我有一个程序声明一个像这样的字符串数组:
char *colors[4] = {"red", "orange", "yellow", "blue"};
Run Code Online (Sandbox Code Playgroud)
但是我得到了上面的编译器警告.它编译但我宁愿使用非弃用的方式(如果有的话).我试图找出它意味着什么,但我似乎无法弄明白.我听说'char'工作之前使用'const',但如果有人能解释错误的含义,那将会有所帮助.谢谢.
我最近安装了VS 2017,并遇到了一个奇怪的问题.基本上,我不能使用硬编码的字符串而不明确地将它们转换为(char*).如果我说了类似的话Function("test"),它只会抛出一个错误,指出const char*与char*不兼容.我真的不想坚持VS 2015 :(.任何人都知道如何让VS认识到这些是同一回事?
非常感谢提前.