我有3个错误:期望一个")",期望一个表达式,类型为long的参数与U32类型的参数不兼容

use*_*838 1 c c++ opencv

/*******************************************************************/
#define cdisp(a, src, col);
#define FL_wpset_U8 256;
/*******************************************************************/
void main(void)
{
    int posx= 100, posy=100, dx=300, dy=300; 
    long length=5000; 
    int threshold=125; 
    int lx, x0=0, y0=0;
    int res1=0,res2=0, *rlc, *input, i;
    long dest1,dest2,desttemp, addr;
    char c;
    image Area, Ovl;





    ScrSetLogPage((int)ScrGetPhysPage);
    OvlSetLogPage((int)OvlGetPhysPage);

    OvlClearAll;

    set_ovlmask(255);

    ImageAssign(&Area,ScrByteAddr(posx,posy), dx, dy, ScrGetPitch);

    ImageAssign(&Ovl,OvlBitAddr(posx,posy), dx, dy, OvlGetPitch);


    frameo(&Ovl);




    vmode(vmOvlLive);
    /* follow contour */
    dest1=DRAMWordMalloc((long)length);
    dest2=DRAMWordMalloc((long)length);
Run Code Online (Sandbox Code Playgroud)

2个错误在行中frameo(&Ovl)(预期为")",预期表达式).

desttemp = dest1;
res1 = contour8(&Area,x0,y0,~2,threshold,length,&desttemp);
Run Code Online (Sandbox Code Playgroud)

最后一个错误位于最后一行(long类型的参数与U32类型的参数不兼容).contour8的函数签名是I32 contour8(image *a, I32 x0, I32 y0, I32 dir, I32 thr, U32 lng, U32 **dst).我不知道如何解决它,提前谢谢.

pax*_*blo 5

你几乎肯定不希望你的#define行结尾有那些分号.使用它们很可能会将语句分隔符注入表达式的中间.