[...]
I have tried to make nonnull() inline and/or static but that didn't help. I think the root of the problem is that the address of nonnull() is taken. I wonder if it is really needed to return a real (member) function pointer or if it would be OK to just return (safe_bool)1 ?
Don't know if this is useful but at least it makes my compiler more happy ... diff -r1.33 function_base.hpp 287,291c287 < struct dummy { < void nonnull() {}; < }; < < typedef void (dummy::*safe_bool)(); ---
typedef void (*safe_bool)();
295c291 < { return (this->empty())? 0 : &dummy::nonnull; } ---
{ return (this->empty())? 0 : (safe_bool)~0; }
298c294 < { return (this->empty())? &dummy::nonnull : 0; } ---
{ return (this->empty())? (safe_bool)~0 : 0; }
-- Free Crypto Token - FCT www.FreeCryptoToken.org