Борьба с конструкторами копирования в C++

Я пытаюсь написать конструктор копирования для своей структуры, но, похоже, у меня это не получается, и буду признателен за любую возможную помощь. Я хочу сделать глубокую копию рекурсивно, но я продолжаю получать предложения по инициализации в списке инициализации, и это, похоже, тоже не работает.

struct Node
{
    Node* left; // will be our previous
    Node* right;// will be our next
    Node* previous;// get a handle to the previous node
    string value;

    Node(string nval): left(NULL), right(NULL), previous(NULL), value(nval)
    {

    }

    Node(Node const& node)
     : previous(new Node(node.previous)), 
       left(new Node(node.left)), 
       right(new Node(node.right)), 
       value(node.value)
    {
    }

    Node& operator=(const Node&)
    {
       //...
    }
};

Заранее спасибо.

0
задан sbi 15 April 2012 в 10:08
поделиться