我的代码无法编译。下面是我的代码
template <typename T>
class TemplateClass
{
const T constMember;
public:
TemplateClass()
{
constMember = T();
}
};
int main()
{
TemplateClass <int> obj;
}
我收到此错误:
error: uninitialized member 'TemplateClass<int>::constMember' with 'const' type 'const int'
我认为构造函数用于初始化数据成员。怎么了????
最佳答案
您不是在初始化const成员,而是对其进行分配。
成员can only be done using a member initialization list的初始化。
例如:
TemplateClass() : constMember(T()) //initializes constMember to 0
{}
关于c++ - 初始化模板类成员时的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3761325/