Поскольку void ничего не возвращает, я не знаю, как получить правильный базовый вариант для функции void, такой как та, которую я пытаюсь получить.
struct TreeNode {
char value;
TreeNode *sibling;
TreeNode *child;
};
void serialize(std::ostream &out, TreeNode *root)
{
// If the root is nullptr, print "None"
if (root == nullptr)
out << "None" << "\n";
// Write out root's value
out << root->value << "\n";
// if there is no child
// write out "False"
// else
// write out "True"
// recursively call serialize on that child
if (root->child == nullptr)
out << false << "\n";
else
{
out << true << "\n";
serialize(out, root->child);
}
// recursively call serialize on the sibling
serialize(out, root->sibling);
}
Поможет ли мне переписать сериализацию как функцию типа TreeNode, каков будет мой базовый случай, если я это сделаю?
Примечание: это одна функция из проекта для создания структуры данных узла дерева в c ++.