我是PIC18的新手,这几天试着编程时出现以下问题,向大家求助:
#include <p18f6585.h>
void initial();
void main(void)
{
initial(); //编译时此处产生了警告
}
void initial(void)
{
}
上述这个简单的示例程序,使用Microchip C18 V3.34版本的编译器,编译后出现了如下警告:
Warning [2058] call of function without prototype
当然,将 main()函数放在 initial()函数之后,再进行编译就没有警告了。
但是,这个小程序从语法上是没有问题的,所以我想搞清楚究竟是为什么产生这个警告的。今天查了一天资料也没找到,只好上论坛求助了,希望有经验的朋友们帮忙提示以下,先谢过大家了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
已解决。
将函数的声明 void initial();
改为 void initial(void);
就可以了。
原因是第一种声明并不严格。语法上要求要声明函数的参数个数、类型、返回值类型。
一周热门 更多>