_getch(); 语句带波浪号,显示 C0631: 返回值被忽略 :“_getch” 是什么意思,为何没影响,如何正确写法不产生波浪号
时间: 2024-10-19 19:06:30 浏览: 47
linux_getch.c
_getch() 是一个通常在控制台编程中用于从标准输入(通常是键盘)获取单个字符的函数,它在C/C++环境中常用,特别是在Windows平台上,因为它不会像std::cin.get()那样回显输入。这个函数通常返回一个字符,但在许多编译器中,它实际上是无返回值的,因此它的返回值会被视为未使用的,并会发出警告信息 "C0631: 返回值被忽略"。
之所以没有直接影响程序运行,是因为警告而不是错误,它只是提示程序员该函数的结果并未被利用。然而,频繁出现这类警告可能会使人分心,特别是当您想检查函数的返回结果时。
为了消除警告,一种解决方案是直接声明函数为void,因为_getch()本身没有实际的返回值。另一种是忽略警告,但这并不是一个好的编程实践:
```c++
#include <conio.h> // 包含_getch()
// 如果你想告诉编译器你知道并接受返回值被忽略
void ignoreReturn() {
_getch();
}
int main() {
ignoreReturn(); // 现在编译器知道你打算忽略返回值
return 0;
}
```
阅读全文