【发布时间】:2019-11-18 04:59:55
【问题描述】:
我正在创建一个 Node 结构,并希望创建一个初始化每个成员变量的默认构造函数。
struct Node {
Node* next;
Node* prev;
T datum;
Node()
{
next = nullptr;
prev = nullptr;
datum = ??????
}
};
既然 datum 是 T 类型,它是一个模板类型,我可以在这里设置 datum 等于什么?将其设置为 NULL 会给我一个编译器错误。
编辑:澄清一下,我想初始化变量,以便稍后在我的代码中修改它们。
【问题讨论】:
-
应该设置为等于什么?
T是整数类型有关系吗?字符串类型?您从未见过的课程? -
从技术上讲,您正在稍后在代码中修改
datum,因为它在您的(空)member initializer list 中初始化,然后由正文中的赋值语句修改你的构造函数。
标签: c++ templates constructor