[求助]PIC18F 程序编译出现“2058”警告是什么原因?

2020-02-09 11:45发布

我是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()函数之后,再进行编译就没有警告了。

但是,这个小程序从语法上是没有问题的,所以我想搞清楚究竟是为什么产生这个警告的。今天查了一天资料也没找到,只好上论坛求助了,希望有经验的朋友们帮忙提示以下,先谢过大家了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
sunwu
1楼-- · 2020-02-09 15:30
回复【楼主位】sunwu
-----------------------------------------------------------------------

已解决。
将函数的声明 void initial();
改为  void initial(void);
就可以了。

原因是第一种声明并不严格。语法上要求要声明函数的参数个数、类型、返回值类型。

一周热门 更多>