错误:使用 char C++ "uninitialsed local variable 'name' used" *

Error: "uninitialsed local variable 'name' used" in C++ using char *

本文关键字:name used variable local 使用 char C++ uninitialsed 错误      更新时间:2023-10-16

我写了这个代码片段:

int main()
{
    char *name;
    cin >> name;
    return 0;
}

编译后,它给出的错误为:"使用了未初始化的局部变量'name'"。我不明白为什么会这样。请解释我的问题是什么。

谢谢。

char*是一个指向char的指针,目前,它没有"指向"任何地方。您可以分配一些内存并指向该内存。

char* name = new char[64];
cin >> name;
delete[] name;

但是,您可以通过使用 std::string 来避免此要求。看看这里有一些例子:http://www.cplusplus.com/forum/articles/6046/

除非为name分配内存,否则要写入未初始化的指针。

试试这个:

#include <iostream>
int main()
{
    char *name = new char[100];
    std::cin >> name;
    delete [] name;
    return 0;
}