在一般的C++代码中,我们可以用C++的getch(),kbhit()等语句,但是,在VS里面,这种使用是错误的,因为C4996:'XXX': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _XXX. See online help for details.
如图:
解决方法:将getch()改为_getch()或者加上 #pragma warning
#pragma warning(disable : 4996)
而且不光如此,当我们使用过时函数,也会出现这种情况,比如_sleep()(这个函数早在C++97标准就已经弃用),不过解决方法一样,你要注意下面让你可替换的函数,或者加上#pragma warning
更多请参阅编译器警告(级别 3)C4996 | Microsoft Learn
而且要注意是否装SDK,否则<conio.h><windows.h>等无法使用,敬请参阅VS2022无法打开“windows.h”或“conio.h”、“stdio.h”等头文件该怎么办?_无法打开源文件windows.h_cppxj12345的博客-优快云博客