[英]C90 compiler complaining with a No prototype function warning
我在文件hello()
聲明了一個函數hello()
hello()
函數在文件source.c中定義
在main.c文件中調用hello()
函數
include.h包含以下代碼
/*
* includes.h
*
* Created on: Jul 26, 2018
* Author: salim
*/
#ifndef T_HEADER_H_
#define T_HEADER_H_
#include <stdio.h>
int hello();
#endif /* T_HEADER_H_ */
source.c包含以下代碼
/*
* source.c
*
* Created on: Jul 26, 2018
* Author: salim
*/
#include <stdio.h>
#include "includes.h"
int hello()
{
printf("Hello, World!");
return 0;
}
main.c包含以下代碼
/*
* main.c
*
* Created on: Jul 26, 2018
* Author: salim
*/
#include <stdio.h>
#include "includes.h"
int main()
{
hello();
return 0;
}
編譯通過,但是編譯器生成一條信息消息,提示main.c(11) : C0200 (I) No prototype function
我缺少什么來擺脫信息/警告消息? 我知道解決方法可能是顯示警告/信息消息,但我不想走那條路線。
在調用時,它正式是“無原型功能”。 int hello()
不是原型。 它是“非原型”類型的函數聲明。 這是K&R風格的聲明。
該函數的原型聲明看起來像
int hello(void);
這是否是編譯器試圖告訴您的(還是存在其他問題)則是另一個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.