Wenn ich den Standardkonstruktor für meine Klasse LinkedList aufruft, versuche ich, dem Kopfknoten der verketteten Liste Werte zuzuordnen, bevor irgendwelche andere Operationen auftreten. Ich habe den Fehler über Debugging auf die Anweisungen im Standardkonstruktor isoliert. SobaldC++ - Verknüpfter Listenzeiger auf Struct Crashing
head -> next = NULL;
head -> RUID = 0;
head -> studentName = "No Student in Head";
aufgerufen werden, stürzt das Programm ab. Dies tritt auf, wenn ich den Standardkonstruktor in main aufruft. Hier ist meine Klassendeklaration und meine Strukturdeklaration zusammen mit dem Standard-Konstruktor:
struct Node
{
string studentName;
int RUID;
Node* next;
};
class LinkedList
{
private:
// Initialize length of list
int listLength;
public:
// Head of the list, which points to no data yet
Node *head;
LinkedList();
bool insertNode(Node* newNode, int position);
int generateRUID();
};
LinkedList::LinkedList()
{
head -> next = NULL;
head -> RUID = 0;
head -> studentName = "No Student in Head";
listLength = 0;
}
Ich glaube, das alle relevanten Code zu diesem Thema. Wenn jemand Licht dazu bringen könnte, würde es sehr geschätzt werden.
'head' muss vor allen anderen initialisiert werden. Es ist eine leere Referenz am Anfang von 'LinkedList :: LinkedList'. –