The correct way is:

Code:
void foo(void *f)
{
    void fp(); // The signature should obviously match with the one of the function

    fp = f; // Note that you won't get any help from the static typesystem here, so know what you are doing!
    fp();
}

foo(test); // Or just pass beep directly here



Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com