Здравствуйте, _Winnie, Вы писали:
_W>const означает, что мы не можем менять ноду.
_W>DEEP_CONST означает ноду и всех её потомков.
_W>...
_W>struct TreeNode
_W>{
...
_W> TreeNode *get_right() const { return right; };
_W> TreeNode *get_left() const { return left; };
...
_W>};
...
_W>
_W>Может, у тебя есть ещё какие-то идеи?
Да, есть. Если метод get_right() является const, то и возвращать он должен const TreeNode *. А если мне нужен дочерний узел для изменения, но при этом я владею только константным указателем на родителя (уже странно, не находишь?), то не лучше ли сделать отдельные методы: get_writeable_right() и get_writeable_left()?