我正在使用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

10-06 10:22