我的代码无法编译。下面是我的代码
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/