Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对以下代码有疑问。
int main(){ char* cptr = new char[100]; *cptr[1] = 'A'; }
当我在 Visual C++ 2010 中编译它时它给了我错误:“'*' 的操作数必须是一个指针”。但是 cptr 是指针。
是的,但cptr[1]不是 - 它是一个char. 那就是你申请*的。
cptr[1]
char
*
*cptr[1] == * (cptr[1]) | this is a char
你可以写
char cptr[] = "A";
或使用std::string.
std::string
int main(){ char* cptr = new char[100]; cptr[1] = 'A'; }
这是实现它的正确方式。