Dies ist meine Header-DateiWie verkette ich zwei einfach verkettete Listen über Operatorüberladung?
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#include <iostream>
#include <string>
using namespace std;
class Node
{
friend class LinkedList;
public:
Node(string& name, int num) :studentName(name), RUID(num)
{
this->next = NULL;
}
private:
string studentName;
int RUID;
Node *next;
};
class LinkedList
{
public:
LinkedList();
~LinkedList();
LinkedList& operator+(LinkedList &i);
//LinkedList operator=();
void makeLists(int n);
void addNode(LinkedList &i);
void removeNode();
void printList();
void printElement();
void sortList();
private:
Node *head;
Node *tail;
int size;
};
#endif
... und dies ist mein Operator + Funktion
LinkedList& LinkedList::operator+(LinkedList &i)
{
LinkedList tohma;
tohma = *this;
tohma += i;
return tohma;
}
Ich bin mit dem Operator + = eine Fehlermeldung bekommen, aber ich bin so ratlos wie Ich sollte es anders machen. Ich habe das Gefühl, dass ich in der Nähe bin, aber vielleicht mache ich einen logischen Fehler?
Jedwedes Hilfe würde
Es ist 'Operator +', nicht '+ =' (das isn‘ t sogar definiert), und es gibt eine lokale Referenz zurück - falsch. Rückgabe nach Wert. – LogicStuff
Entschuldigung, ich meine, es gibt eine Fehlermeldung bei "tohma + = i". Mein schlechtes – CodingPoding