无法从'const char [3]'转换为'char *'x100000(Qt Creator C ++ Windows 32)

卢佩

五分钟前,当我轻按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中的某些内容,但是自从它开始出错之前就没有打开设置。

有任何想法吗?我一定心不在changed地更改了某些设置,但我真的不记得想过“嗯,我刚刚做了什么?”

杰克·皮西莫斯(Jake Psimos)

当您使用这样的代码时

char *astring2 = "some letters";

C ++(和C)将其放入只读存储器。您不能修改用文字初始化的char指针的内容,即使它不是const。

同样,您不能更改指针的地址,因为由于上述规则,这将导致内存泄漏。

但是,除非您将其设为const,否则这并不遵循该规则:

char astring[] = "some letters that can be changed";
char *ptrToString = astring; //work
astring2 = astring //not work

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从const char *转换为const char *&

C2440:“ =”:无法从“ const char [9]”转换为“ char *”

QObject :: connection(const QObject *,const char *,const char *,Qt :: ConnectionType)“无法将参数3从'fileProcessor'转换为const QObject *”

在C ++中将char *转换为const char *

错误 C2440:“=”:无法从“const char *”转换为“LPCWSTR”

错误:无法将“ const char **”转换为“ const char(*)[64]”

无法将“ TCHAR *”转换为“ const char *”

无法从DWORD转换为const char *

无法将 QString 转换为 Const Char*

C / C ++ strcmp无法将参数1从'char'转换为'const char *'

C ++错误:无法将'std :: basic_string <char>'转换为'const char *'

无法将参数1从char转换为strcmp的const char

在C ++中将wstring转换为const * char

C ++-错误C2664:'int scanf(const char *,...)':无法将参数1从'int'转换为'const char *'

如何在C中将const char *转换为char *?

如何在C中将char *转换为char * const *

如何正确将char ** x强制转换为const char **

C ++:无法从“ std :: ifstream”转换为“ char *”

错误C2664:MessageBoxW无法将参数2从'const char'转换为'LPCWSTR'

错误 C2440:“return”:无法从“char *const”转换为“LPCTSTR”

错误:无法将“ const value_type”转换为“ char”

无法将<string>从'const char []'转换为<class name>

无法在参数传递中将'const char *'转换为'WCHAR *'

无法将参数1从'const char [11]'转换为'LPCWSTR'

iOS:无法将const char转换为NSString对象

从const char arr []转换为char **

将const Char *转换为Char数组

将 const char * 转换为小写 char *

Win32 Atoi问题无法将参数1从'wchar_t [5]'转换为'const char *