предполагаю, что у меня есть функция шаблона, подобная следующей:
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, ...)?