我正在使用Visual Studio进行代码开发以及使用该功能时
getche()
编译器给我这个警告
warning C4013: 'getche' undefined; assuming extern returning int
但是getche()函数按预期工作,为什么编译器显示这样的警告,以及如何消除此警告?
最佳答案
正如编译器告诉您的那样,尚未定义getche
。
通常,您会包含一个标头(例如#include <conio.h>
),该标头将定义类似于以下内容的函数:
int getche(void);
C语言有一个规则,允许使用以前未定义的功能。假定这些函数采用传递的确切参数类型(无,所以
void
)并返回int
。由于此功能(这是Evil™),并且getche
确实由于链接器设置而被链接,因此您的程序实际上可以正常工作。请注意,
getche
已过时,应改为使用_getche
。