array of pointer to function support in GNU C

J Decker d3ck0r@gmail.com
Thu Sep 16 21:40:00 GMT 2010


On Wed, Sep 15, 2010 at 11:15 PM, ir_idjit <ren_zokuken01@hotmail.com> wrote:
>
> i've been writing bits of codes where it requires to have an array or
> "pointers to functions", so the decision of which function to execute is
> indexed... (i know, a lot of you will say "well, that's a VERY specific of a
> solution, there's always the problem of binary compatibility when passing
> arguments for different argument-taking functions, blah, blah, blah... just
> rely on good old fashioned function calls with conditional statements..."
> but, pls, forget about that sort of incompatibility...)
>
> even if i hadn't tried it in C++, i know it should work as i've seen some
> examples posted on the net. but i'm trying to write my code in GNU C, so it
> could be compiled by GCC -- god knows i would never try to compile it in GNU
> C++; that gargantuan thing....
>
> but whatever i do it i just can't get it to work....
> code:
>
> some_header.h:
> static void *(*oper_table)(void **);
>
>
>
> main.c:
> int main(void)
> {
>    oper_table[0]; /* just a test. data is not used or modified*/
oper_table[0](NULL);  // you decoared it to receive a parameter... and
even if it didn't you'd need ().
>    return 1;
> }
>
> error: subscripted value is pointer to function
>
>
>
>
> whereas:
> int main(void)
> {
>    void *(*func)(void **);
>    func;
strange that this does anything... since it also requires a pointer to
a pointer...


>    return 1;
> }
>
> compiles just fine....
>
> i do realize that i'm depending on dialect-specific features, so i don't
> even know if this is supported on my gcc as of version 4.3.3. if it's not a
> dialect problem, then this stumps me even more.
> --
> View this message in context: http://old.nabble.com/array-of-pointer-to-function-support-in-GNU-C-tp29725303p29725303.html
> Sent from the gcc - Dev mailing list archive at Nabble.com.
>
>



More information about the Gcc mailing list