Ich versuche, eine gleichzeitige Datenstruktur zu implementieren, wie unten.Warum kann ich nicht auf das nächste Feld in dieser Struktur zugreifen?
struct Node;
struct NodeList;
struct NodeAtomic{
struct Node* next;
};
struct NodeListAtomic{
struct NodeList* next;
};
struct Node{
atomic<struct NodeAtomic> ptr;
};
struct NodeList
{
struct Node listhead;
atomic<struct NodeListAtomic> ptr;
};
ich den Zugriff auf die Variable des Objekts wie folgt aus:
struct Node *temp;
temp->listhead.ptr.next.load();
Aber ich erhalte den folgenden Fehler:
error: ‘struct std::atomic<NodeAtomic>’ has no member named ‘next’
Kann jemand bitte zeigen, wo dies falsch ist?
Ich sehe! Das war sehr dumm von mir! Ich habe es einfach nicht bemerkt. Vielen Dank für Ihre Zeit. –