|It is now working, however, the mechanics are NOT what you have presented.
The initial problem was to pass a parameter to the passed function such as
Stencil(parameter); // parameter);
Now in my poor English interpretation I have
A function OpenGL_Stencil with first argument int (*Stencil)(int) and second argument int parameter
The OpenGL_Stencil returns int which is not currently used.
The first argument - function takes the second argument as a -parameter- and returns it.
The returned value is used to switch the code which follows.
That was the original task , however, I could just use the passed second argument to do the switching, without the use of the return value.
But that is just the way I like to make sure the code is actually processing the first argument - the function.
I believe my original misunderstanding was trying to pass the second argument - parameter _ as a argument to the first argument - the function.
Next task - pass multiple arguments or a pointer....
Many thanks for your help, really appreciate it.