Я пытаюсь написать конструктор копирования для своей структуры, но, похоже, у меня это не получается, и буду признателен за любую возможную помощь. Я хочу сделать глубокую копию рекурсивно, но я продолжаю получать предложения по инициализации в списке инициализации, и это, похоже, тоже не работает.
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&)
{
//...
}
};
Заранее спасибо.