我在一大段代码中使用下面提到的函数(在c ++中):
void startup(const char *& start,
const char *& stop);
调用此函数后,我想访问字符值,即存储在'start'和'stop'之间的字符串。
我试图访问的方式是:
char *var=(c.start);
cout<<"\n Iterating over char pointer \n";
while(var<=(c.stop))
{
cout<<*var;
var++;
}
cout<<"\n";
然而,在尝试以这种方式访问它时,我得到了下面提到的错误:
error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
有人可以善意纠正错误......并帮助我访问角色值
答案 0 :(得分:2)
您需要做的就是更换一行:
char *var=(c.start);
使用:
const char *var=(c.start);
请注意,const
指的是指针指向的字符,而不是指针本身。因此,像var++
这样的表达式非常精细,因为指针不是常量。
答案 1 :(得分:0)
您可以在分配声明中尝试此转换:
char *pc = (char *)(c.start);