Code: /* ---------------------------------------------------------------------- * DECLARE your own open(), close(), addr(), and byte() routines here. * */
static int open1(), close1(), addr1(), byte1(); static int open2(), close2(), addr2(), byte2(); static int open3(), close3(), addr3(), byte3(); static int open4(), close4(), addr4(), byte4();
/* ---------------------------------------------------------------------- * ADD an entry to this table to register your * output format routines. Give your object format * a name to be specified with the -F option. * */
static int format; static struct { char *name; int (*e_open)(); int (*e_close)(); int (*e_addr)(); int (*e_byte)(); } formtab[] = { { "tdr", open1, close1, addr1, byte1 }, { "byte", open2, close2, addr2, byte2 }, { "od", open3, close3, addr3, byte3 }, { "srec2", open4, close4, addr4, byte4 }, { "srec3", open4, close4, addr4, byte4 }, { "srec4", open4, close4, addr4, byte4 } };
#define FORMTABSIZE (sizeof(formtab)/sizeof(formtab[0])) Hi,
Above the structure declared the function in structure. This sample code is picked from other sample project code. This sample project i took from net is not completed source and some of the .h and .c file is not included.
The call functions:
Code: (*formtab[format].e_open)(file,ftype,arg); (*formtab[format].e_close)(); (*formtab[format].e_addr)(a); (*formtab[format].e_byte)(b); The compiler show:-> error C267: 'function': requires ANSI-style prototype
How to declare the function? I already included initial define function prototype. I think my function prototype is wrong.
The attached file is the code. Please help me...
Thank you.
the safestr way to break a leg is running UNLESS you first learned to crawl then learned to walk then and only then tried running.
Your code and question show clearly that you skipped the first 2 steps.
Put aside what you have, get the "getting started guide" and "the bible" and start crawling, then walking and then, and only then, come back with what you heve here.
Erik