предлагаю, что у меня есть функция шаблона, например:
template<class T>
void doSomething()
{
T a; // a is correctly initialized if T is a class with a default constructor
...
};
Но переменная a оставляет неинициализированным, если T - примитивный тип. Я могу написать T a (0), но это не работает, если T - класс. Есть ли способ инициализировать переменную в обоих случаях (T == class, T == int, char, bool,...)?