http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48582
Summary: Template non-type arguments doesn't accept null pointer constant value Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: boost...@gmail.com According to current C++0x draft 14.3.2 [temp.arg.nontype], template non-type arguments can be a constant expression that evaluates to a null pointer value or null member pointer value. This change was made in n1905. So the following code is well-formed. template < void * = nullptr > void f() { } int main() { f() ; f<nullptr>() ; f<0>() ; constexpr void * ptr = nullptr ; f<ptr>() ; } But current gcc does not accept it. Or is this just unimplemented feature?