初始化模板类成员时出现问题

Pra*_*rav 0 c++ templates class-constructors

我的代码没有编译.以下是我的代码

template <typename T>

class TemplateClass
{

    const T constMember;
    public:

    TemplateClass()
    {
        constMember = T();
    }

};

int main()
{
   TemplateClass <int> obj;
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

error: uninitialized member 'TemplateClass<int>::constMember' with 'const' type 'const int'

我以为构造函数用于初始化数据成员.怎么了????

Pra*_*rav 11

你没有初始化const成员,你只是分配给它.

成员的初始化只能使用成员初始化列表来完成.

例如:

TemplateClass() : constMember(T()) //initializes constMember to 0
{} 
Run Code Online (Sandbox Code Playgroud)