Cómo verificar si un argumento de plantilla es constructible por defecto

Estoy escribiendo una clase de plantilla y quiero saber si el argumento de plantilla esconstruible por defecto Hay alguna forma de hacerlo ?

El código es algo como seguir

template <class C>
class A
{

createObj()
{
C* objPtr = NULL;
// If default constructible then create object else let it remain NULL
}
};

Actualización: he intentado usarcódigo dado en esta pregunta pero no funciona, para ser precisos si el retorno predeterminado es constructible incluso para aquellas clases que no lo son, no tengo idea de por qué está sucediendo eso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta