无法从’const char [3]’转换为’char *’x100000(Qt Creator C
发布时间:2020-12-16 10:00:41 所属栏目:百科 来源:网络整理
导读:五分钟前,当我点击f5并得到102个错误时,一切都运行良好: error: C2440: 'initializing' : cannot convert from 'const char [17]' to 'char *'Conversion from string literal loses const qualifier (see /Zc:strictStrings) 具体的是第30行: char* hexch
五分钟前,当我点击f5并得到102个错误时,一切都运行良好:
error: C2440: 'initializing' : cannot convert from 'const char [17]' to 'char *' Conversion from string literal loses const qualifier (see /Zc:strictStrings) 具体的是第30行: char* hexchars = "0123456789ABCDEF"; 我没有触及错误所在的文件至少一周.我通常会说我在编译args或其他东西时意外地改变了一些东西,但是在开始出错之前我没有打开设置. 有任何想法吗?我一定是心不在焉地改变了一些设置,但我真的记不起来了“呃,我刚刚做了什么?” 解决方法
当你使用这样的代码
char *astring2 = "some letters"; C(和C)将其放入只读存储器中.即使它不是const,也不能修改用文字初始化的char指针的内容. 此外,您无法更改指针的地址,因为它会因上述规则导致内存泄漏. 但是,这不遵循该规则,除非你使它成为const: char astring[] = "some letters that can be changed"; char *ptrToString = astring; //work astring2 = astring //not work (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |