AMDG Lang Stefan wrote:
How about some really weird pointer type? If you did a member function type that doesn't actually exist, you should be able to construct with NULL, but nothing else
Whatever you have in mind, I have no idea what you mean. Could you elaborate please?
Btw., I did consider somehow introducing one of the boost smart pointer types to resolve this issue, but apparently even the smart pointers cannot directly deal with NULL values (e.g. comparison to NULL requires calling the get() method first).
I could of course introduce special functions for semantically equal purposes, but that would force me to change several thousand lines of code to match the new syntax. I can think of better ways to waste my time...
Is it possible to construct metafunctions that allow a function argument of NULL, but not any other integer value? Or at least cause the compiler to call out whenever a non-NULL argument is provided?
Cheers, Stefan
struct convertible_from_null { struct null_pointer_impl_t; typedef null_pointer_impl_t (convertible_from_null::*null_pointer_t)(); convertible_from_null(null_pointer_t* = 0) {} }; convertible_from_null test = 0; //convertible_from_null fail = 1; int main() {} In Christ, Steven Watanabe