次のコードがあります。
template<class T>
class RandomTreeNode {
private:
RandomTreeNode<T> *left;
RandomTreeNode<T> *right;
public:
RandomTreeNode(): left(0), right(0) {}
void create_left_child(){ left = &RandomTreeNode<T>();}
void create_right_child(){ right = &RandomTreeNode<T>();}
しかし、一時変数のアドレスを指しているため、コンパイル エラーが発生します。作成された新しい RandomTreeNode を関数の最後で破棄したくないのですが、どうすればこれを達成できますか?