У меня есть следующий фрагмент кода:
struct Node {
int data;
Node *next;
};
atomic<Node*> head;
atomic<Node*> temp1 = head.load();
..
Node *temp2 = new Node;
//initialise values
head.compare_exchange_strong(temp1, temp2);
Однако я получаю следующую ошибку:
недопустимая инициализация неконстантной ссылки типа «Node*&» из rvalue типа «std::atomic::__pointer_type {aka Node*}».
Я не понимаю, какая ссылка здесь постоянна. Любая помощь будет оценена.