Here is an example of a code that works perfectly:
#include
#include
template< class D, template< class D, class A >
That's to prevent you from creating a template that has nullptr as a argument. You most likely don't want that. You want the template to use a propper class as an argument and take nullptr as a value for that argument.
You can either