访问存储在开始和结束指针之间的值

时间:2012-06-06 03:20:23

标签: c++ pointers

我在一大段代码中使用下面提到的函数(在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]

有人可以善意纠正错误......并帮助我访问角色值

2 个答案:

答案 0 :(得分:2)

您需要做的就是更换一行:

char *var=(c.start);

使用:

const char *var=(c.start);

请注意,const指的是指针指向的字符,而不是指针本身。因此,像var++这样的表达式非常精细,因为指针不是常量。

答案 1 :(得分:0)

您可以在分配声明中尝试此转换:

char *pc = (char *)(c.start);