diff --git a/poincare/include/poincare/tree_by_reference.h b/poincare/include/poincare/tree_by_reference.h index 85eb29f19..925931256 100644 --- a/poincare/include/poincare/tree_by_reference.h +++ b/poincare/include/poincare/tree_by_reference.h @@ -53,7 +53,7 @@ public: int numberOfChildren() const { return node()->numberOfChildren(); } int indexOfChild(TreeByReference t) const { return node()->indexOfChild(t.node()); } TreeByReference parent() const { return (isUninitialized() || node()->parent() == nullptr) ? TreeByReference() : TreeByReference(node()->parent()); } - TreeByReference childAtIndex(int i) const { return TreeByReference(node()->childAtIndex(i)); } + TreeByReference childAtIndex(int i) const; void setParentIdentifier(int id) { node()->setParentIdentifier(id); } void deleteParentIdentifier() { node()->deleteParentIdentifier(); } void deleteParentIdentifierInChildren() { node()->deleteParentIdentifierInChildren(); } diff --git a/poincare/src/tree_by_reference.cpp b/poincare/src/tree_by_reference.cpp index 1fa4cfb37..44e24ba89 100644 --- a/poincare/src/tree_by_reference.cpp +++ b/poincare/src/tree_by_reference.cpp @@ -35,6 +35,8 @@ TreeByReference TreeByReference::clone() const { /* Hierarchy operations */ +TreeByReference TreeByReference::childAtIndex(int i) const { return TreeByReference(node()->childAtIndex(i)); } + void TreeByReference::replaceWithInPlace(TreeByReference t) { assert(!isUninitialized()); TreeByReference p = parent();