C ++ char *不能用作指针

时间:2013-09-08 16:37:24

标签: c++ pointers char

我遇到以下代码问题。

int main(){
   char* cptr = new char[100];
   *cptr[1] = 'A';
 }

在Visual C ++ 2010中编译时,它给出了错误: “*'的操作数必须是指针”。 但是cptr是指针。

2 个答案:

答案 0 :(得分:6)

是的,但cptr[1]不是 - 它是char。这就是您要应用*的内容。

*cptr[1] == 
*  (cptr[1]) 
      | 
 this is a char

你可以写

char cptr[] = "A";

或使用std::string

答案 1 :(得分:0)

int main(){
       char* cptr = new char[100];
       cptr[1] = 'A';
     }

这是实施它的正确方式。