debug后不知道该怎么解决求大神!急求!!

代码如下:
#include "Main.h"
#include "Swit_A.h"
#include "0_01_12g.H"
#include "LED_Swit.h"
#include "PORT.H"
/* ............................................................... */
/* ............................................................... */

void main(void)
{
// Set up the scheduler
void SCH_Init_T0();

void SWITCH_Init();
int X=0;
int Y=0;

SCH_Add_Task( GR, 0, 4000);

SCH_Add_Task( void XX(X), 3000 , 8000);
SCH_Add_Task( void XX(Y), 7000 , 8000);
SCH_Add_Task( void YY(X), 4000 , 8000);
SCH_Add_Task( void YY(Y), 8000 , 8000);

SCH_Start();
while(1)
{
SCH_Dispatch_Tasks();
}
}

用到的函数先前都有定义:
void YY (a)
{ a=0;
}
void XX (b)
{ b=1;}
但是函数名前不加void就会变成
*** ERROR C267 IN LINE 56 OF Main.c: 'XX': requires ANSI-style prototype
*** ERROR C193 IN LINE 56 OF Main.c: 'parameter': bad operand type
*** ERROR C193 IN LINE 57 OF Main.c: 'parameter': bad operand type
*** ERROR C193 IN LINE 58 OF Main.c: 'parameter': bad operand type
*** ERROR C193 IN LINE 59 OF Main.c: 'parameter': bad operand type求助!!!!

慕娘9325324
浏览 88回答 2
2回答

catspeake

有人告诉你函数调用可以这样做么SCH_Add_Task( void XX(X), 3000 , 8000);1)SCH_Add_Task( XX(X), 3000 , 8000); 实参为函数调用XX(X)的返回值,形参为函数XX返回值的类型。2)SCH_Add_Task( XX, 3000 , 8000); 实参为函数XX即函数XX的地址,形参为函数指针void XX (b){ b=1;}这不是C,C++的定义方式C,C++:1)新式定义void XX (int b){ b=1;}2)老式定义void XX (b)int b;{ b=1;}

大话西游666

因为你既然把这个函数调用放在了另一个函数里当参数,但是这个函数是void类型,不返回任何值当然会出错了,我不知道你调用那个void函数干嘛,但是如果你想返回一个值的话可以定义函数为int型或者其他需要的值,如果你只是想调用那个函数改变传进去的数的值,那么可以在之前调用,把改变过的值再放到下面的函数里 !希望帮到你。
打开App,查看更多内容
随时随地看视频慕课网APP