Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!philmtl!philabs!ttidca!quad1!srhqla!demott!kdq From: kdq@demott.COM (Kevin D. Quitt) Newsgroups: comp.lang.c Subject: How do I prototype this? Message-ID: <326@demott.COM> Date: 25 Jun 90 22:39:50 GMT Reply-To: kdq@demott.COM (Kevin D. Quitt) Organization: DeMott Electronics Co., Van Nuys CA Lines: 80 I'm invoking functions through an array of struct. My compiler generates a warning in the following two cases. How do I declare prototypes given: ---------------- Example 1 -------** in the .h file: struct token_def { u16 index; u16 match; /* # of chars to match, 0 = all */ u8 name[16]; i16 (*fn)(); /* Function to call */ }; -------** in the configuration file: struct token_def configuration[] = { { TITLES, 0, "TITLES", paint_titles }, { REPAINT, 0, "REPAINT", collect_repaints }, { PBLOCK, 7, "PBLOCK_", define_pblock }, { TBLOCK, 7, "TBLOCK_", define_tblock }, { UPPER, 0, "UPPER", define_upper_platen }, { LOWER, 0, "LOWER", define_lower_platen }, { TOOL, 0, "TOOL", define_tool_probes } }; -------** in the code file: extern struct token_def configuration[]; ----** then, this: (*configuration[ tnum ].fn)( cfg, token ); ----** gets: pm.c(330) : warning C4071: 'configuration' : no function prototype given ---------------------------------------------------------------- #2 struct parse_info { CMD_IN *pici; /* Ptr to command input struct */ u16 piexcl; /* Boolean - exclusive command list */ u8 *piparam; /* Ptr to parameter string */ u16 piplen; /* Length of parameter(s) */ }; #define MAX_PARSE_DEPTH (16) local struct parse_info pi[ MAX_PARSE_DEPTH ]; ----** this: (*(pi[0].pici->func))(); ----** gets: input.c(762) : warning C4071: 'function through ptr' : no function prototype given Note also that depending upon the circumstances, the call will have zero, one or two parameters. -- _ Kevin D. Quitt demott!kdq kdq@demott.com DeMott Electronics Co. 14707 Keswick St. Van Nuys, CA 91405-1266 VOICE (818) 988-4975 FAX (818) 997-1190 MODEM (818) 997-4496 PEP last 96.37% of all statistics are made up.