C++字符* 不能用作指针
C++ char* cannot be used as pointer
我对以下代码有问题。
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';
}
这是实现它的正确方式。
相关文章:
- 为什么"具有常量成员的结构"类型的指针不能指向"具有非常量成员的结构"?
- 为什么智能指针不能用通常的指针方式声明
- 智能指针不能自动用作原始指针
- MPI_Op_create:候选功能不可行.自定义结构指针不能解释为空指针
- 为什么指针不能指向张贴增量,而可以这样做才能预先递增
- 为什么引用和指针不能一起使用?
- 为什么指向非静态成员函数的指针不能用作标准库算法的一元谓词
- 为什么指向函数的指针不能绑定到左值引用,而函数可以?
- 为什么基类型指针不能获取派生类对象的地址值?
- 错误:声明冲突 - 指针不能是 int
- 为什么指向非常量成员函数的指针不能指向常量成员函数和相反的函数?
- 为什么智能指针不能在其构造函数中为我调用 new()?
- 基类指针不能分配给派生类指针的原因
- c++继承问题,基类指针不能指向子类
- 函数指针-不能更改函数签名,我有什么选择
- 为什么指针不能转换为引用
- 返回指针不能正常工作
- 为什么常量指针不能是常量表达式?
- 为什么非初始化类对象指针可以访问指针成员,而结构指针不能访问指针变量
- 为什么指向不同char类型的指针不能混合,而不同char类型的变量可以相互转换