我尝试了 memset
喜欢
struct TreeNode {
bool exist;
bool word_ending;
TreeNode* branches[3];
TreeNode(): exist(true), word_ending(false) {
memset(branches, NULL, sizeof(branches));
}
};
但出现警告
warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
memset(branches, NULL, sizeof(branches));
~~~~~~ ^~~~
0
1 warning generated.
是否有其他方法可以将指针数组初始化为NULL
?
而不是使用memset
,我们可以在成员初始化列表中初始化数组。如果我们使用
TreeNode(): exist{true}, word_ending{false}, braches{} {}
然后braches
初始化为零。之所以起作用,是因为初始化列表中的每个缺少初始化器都会导致相应的元素为零初始化。