This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 116a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-12-19
[Adopted at the November, 2019 meeting as part of paper P1907R1.]
According to 13.2 [temp.param] bullet 4.2, non-type template parameters of pointer type must be either
pointer to object or pointer to function
This excludes void*, which is an object pointer but not a pointer to object. However, most or all current implementations accept void* as a non-type template parameter.
Notes from the April, 2018 teleconference:
Not all implementations accept a void* template parameter, so this should not be a DR if it is eventually adopted. Furthermore, there is some implementation divergence over the kinds of template arguments that can be passed to a void* template parameter. CWG felt that EWG should weigh in on the desirability and content of this change.
Additional note, February, 2021:
Although this issue was ultimately resolved for C++20 by the adoption of paper P1907R1, it was previously addressed in a different manner by paper P0732R2, adopted at the June, 2018 meeting.