谁遇到过这个错误 不写void就报语法错误

2019-07-16 06:10发布

#include <reg52.h>
#include "DS12C887.H"
#include "delay.h"
#include "system.h"

void port_init(void);
void ds_r_tim(SYSTEMTIME *currenttime);

SYSTEMTIME *currenttime;    // 当前时间

void main(void)
{
void port_init(void);

void ds12c887_init(void);
void ds_r_tim(SYSTEMTIME *currenttime);


}
void port_init(void)
{
P0 = 0XFF;
P2 = 0XFF;
}
程序写成这样编译可以通过, 0 errors;只提示有未调用的函数的警告信息,但是如果把主函数中的
void port_init(void);

void ds12c887_init(void);
void ds_r_tim(SYSTEMTIME *currenttime);

这三句写成
port_init();

ds12c887_init();
ds_r_tim(SYSTEMTIME *currenttime);
就报语法错误
MAIN.C(15): error C141: syntax error near 'SYSTEMTIME'

加上void以后变成如下:
port_init();
ds12c887_init();
void ds_r_tim(SYSTEMTIME *currenttime);
继续报错:
MAIN.C(15): error C141: syntax error near 'void'

这是编译器的问题,还是我的程序有问题?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。