错误:从“ const char*”转换为“ char*” [-fpermissive]

error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

本文关键字:char -fpermissive 转换 错误 const      更新时间:2023-10-16

我得到以下错误:

2 smartcard.c: In member function ‘virtual bool cSmartCards::ParseLine(const char*, bool)’:
3 smartcard.c:1187:25: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
4    char *r=index(line,':');
5                          ^

代码是:

1184
1185 bool cSmartCards::ParseLine(const char *line, bool fromCache)
1186 {
1187   char *r=index(line,':');
1188   if(!r) return false;

我包括"string.h"

如何重写1187?

index()可以在String.h。

中找到

以下任一两个:

  • index返回const char*,而不是char*。因此,使r A const char*,而不是char*

  • 函数index的写入为char*,而不是const char*。如果不知道index是什么和做什么,我无法安全地建议解决此问题。

答案如下:

 Function index is found in string.h.
 Change line 1187 to: const char *r=index(line,':');