Since it's declared explicit, it *might* be more consistent disambiguating in the caller, e.g.
MyClass my_class(static_cast<const void*>(0));
which is what you would do with a user type rather than a built-in type. Why do we need it if it is private, does anything else besides fromVoid use it?