我已经编写了这段代码:
int main()
{
char *name;
cin >> name;
return 0;
}
编译后,它会给出错误:“未使用的本地变量'名称'使用”。我不明白为什么会这样。请解释一下我的问题。
感谢。
答案 0 :(得分:3)
char*
是指向char
的指针,此时此刻不会“指向”任何地方。你可以分配一些内存并指向它。
char* name = new char[64];
cin >> name;
delete[] name;
但是,您可以使用std::string
来避免此要求。看一下这里的一些例子:http://www.cplusplus.com/forum/articles/6046/
答案 1 :(得分:0)
除非你为name
分配内存,否则你正在写一个未初始化的指针。
试试这个:
#include <iostream>
int main()
{
char *name = new char[100];
std::cin >> name;
delete [] name;
return 0;
}