【发布时间】:2019-10-14 09:19:32
【问题描述】:
建议我有如下模板函数:
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,...)?
【问题讨论】:
-
已编辑问题标题以避免在指代模板变量或模板成员时出现歧义。有一些与前者相关的模板魔法。