-2

我在一大段代码中有下面提到的函数(在 C++ 中):

void startup(const char *&      start,
    const char *&   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]

有人可以纠正错误...并帮助我访问字符值

4

2 回答 2

2

您需要做的就是替换该行:

char *var=(c.start);

和:

const char *var=(c.start);

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

于 2012-06-06T03:23:00.263 回答
0

您可以在分配语句中尝试这种转换:

char *pc = (char *)(c.start);
于 2012-06-06T03:23:52.433 回答