Итак:
Node* node;
*node = nullptr;
не может быть сделано, потому что вы пытаетесь присвоить указатель типу Node
, что вы должны сделать:
Node* node;
node = nullptr;
Вы должны понимать, что когда вы объявляете указатель, вы используете следующий синтаксис:
int *n = 5;
n = nullptr;
где следующим образом является
int *n = 5;
*n = 3;
*n
является разыменовывающим указателем, а переход на адрес n
указывает на. То же самое относится и к вашему Node
примеру. Между тем *node = NULL
может зависеть от реализации. Так что Node
type может иметь что-то вроде этого:
Node& operator = (const Node &n ) {
if (n == NULL) {
// do something
}
// do something else
return n;
}