Como verificar se um argumento de modelo é construtível por padrão

Estou escrevendo uma classe de modelo e quero descobrir se o argumento do modelo épadrão construtível Há alguma forma de fazer isso ?

O código é algo como seguir

template <class C>
class A
{

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

Atualização: tentei usarcódigo fornecido nesta pergunta mas não funciona, para ser preciso, se o retorno padrão é construtível mesmo para as classes que não são, não tenho idéia do por que isso está acontecendo.

questionAnswers(2)

yourAnswerToTheQuestion