Thanks for the reply Rob, but that won't and doesn't work.
I've discovered after a little test that my problem lies elsewhere and will come back with a new problem.
I should probably mention that the member is actually a method, I'm trying to pass the operator( ) type as a template parameter and its a little closer to this:
This actually worked in a test case but for some reason does not work with my actual traits class.. I'll figure it out..
EDIT: I ran this code through GCC and everything compiled and worked as expected, which only confirms my theory that this is a compiler bug. Really annoying..
EDIT2: Now I'm having some issues with GCC and const member functions.. *sigh*