| 39 | #define nullptr __get_nullptr_t() |
| 40 | |
| 41 | int main(int argc, char *argv[]) |
| 42 | { |
| 43 | char *pch = nullptr; // ok, __get_nullptr_t() => nullptr_t::nullptr_t(0) => template <class _Tp> nullptr_t::operator _Tp* () const |
| 44 | int *pint = nullptr; // ok, __get_nullptr_t() => nullptr_t::nullptr_t(0) => template <class _Tp> nullptr_t::operator _Tp* () const |
| 45 | bool b = nullptr; // ok, __get_nullptr_t() => nullptr_t::nullptr_t(0) => nullptr_t::operator int __nat::*() const |
| 46 | //int n = nullptr; // error: cannot convert 'myname::nullptr_t' to 'int' in initialization |
| 47 | int Test::*p = nullptr; // ok, __get_nullptr_t() => nullptr_t::nullptr_t(0) => template <class _Tp, class _Up> operator _Tp _Up::* () const |
| 48 | void (Test::*pfn)(int, char) = nullptr; // ok, __get_nullptr_t() => nullptr_t::nullptr_t(0) => template <class _Tp, class _Up> operator _Tp _Up::* () const |
| 49 | return 0; |
| 50 | } |
nothing calls this directly
no outgoing calls
no test coverage detected