Because implicit operator bool overloads allow accidental comparisons,
such as a == b, via the implicit conversion to bool.
[clang-tidy] Add modernize-operator-void-pointer.
Because an operator void* overload is usually to avoid implicit operator bool,
but C++11 has explicit operator bool.
As you state later "available since C++11",
you should check for the current language.
Example from other checkers: