错误:使用char *在C ++中使用“未初始化的局部变量'名称''

时间:2017-01-19 17:18:57

标签: c++ string pointers char

我已经编写了这段代码:

int main()
{
    char *name;
    cin >> name;

    return 0;
}

编译后,它会给出错误:“未使用的本地变量'名称'使用”。我不明白为什么会这样。请解释一下我的问题。

感谢。

2 个答案:

答案 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;
}