C++字符* 不能用作指针

C++ char* cannot be used as pointer

本文关键字:指针 不能 字符 C++      更新时间:2023-10-16

我对以下代码有问题。

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

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

是的,但cptr[1]不是 - 这是一个char.这就是你应用*的内容。

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

你可以写

char cptr[] = "A";

或使用std::string .

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

这是实现它的正确方式。