我的代码无法编译。下面是我的代码

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/

10-12 19:16