错误:使用 char C++ "uninitialsed local variable 'name' used" *
Error: "uninitialsed local variable 'name' used" in C++ using char *
我写了这个代码片段:
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;
}
相关文章:
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- C++中"dependent name"的定义是什么?
- 将系数存储在头文件的数组中("does not name a type"错误)
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- C++初学者:为什么我的编译器根据我的循环返回"name not found"?
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- 调试控制台 ChessEngine.exe "used"在另一个应用程序(国际象棋 GUI)中
- C++ - 在我尝试制作一个简单的计算器时有一个"uninitialized local variable y used"警告
- 如何解决"'mutex' in namespace 'std' does not name a type"?
- 在 C++ 中使用命名空间时出现"does not name a type"错误
- 已声明时"Does not name a type"错误
- 嵌套类"does not name a type"
- SFINAE:"enable_if cannot be used to disable this declaration"
- C++ "Using Uninitialized Memory.. (variable name) "
- 在反转字符串'my.name.is'时,我得到的输出为"is@.name.my"。我不明白'@'是从哪里来的
- 行 - " vector<int> used(adj.size(), 0); "是什么意思?
- 如何理解"abstract-declarator containing an ellipsis shall only be used in a parameter-declaration"
- C++错误:"class name"之前的预期类型说明符
- C++从"NameBase"类到模板"Name"类的相互关系的成语(或模式)
- 错误:使用 char C++ "uninitialsed local variable 'name' used" *