class Iterator;
class SortedList {
friend class Iterator;
private:
Node* root;
Node* minim(Node* node) const {
while (node->getLeft() != nullptr)
node = node->getLeft();
return node;
};
public:
SortedList() {
root = nullptr;
};
Iterator iterator() {
Node* min = minim(root);
return Iterator(*this, min); // Here says that Iterator has no constructors
};
};
class Iterator {
private:
const SortedList& list;
Node* current;
public:
Iterator(const SortedList& list, Node* current) : list{ list }, current{ current } {};
};
Es sagt int die Iteratormethode von SortedList, dass die Iterator Klasse nicht Bauer sagt auch nicht über oder nicht passend, und wenn ich einige Parameter ändern um falsch zu sein, gibt es an, dass es keine mit diesen Parametern gibt.Klasse hat keinen Konstruktor, aber es hat und mit richtigen Parametern
Eine andere Sache, wenn ich die Iterator-Methode auskommentieren und einen Iterator in main durch Schreiben Iterator es {meine Parameter} instanziieren funktioniert es gut.
Setzen Sie ** nicht ';' 'nach dem letzten'} 'Ihrer Funktionen! – abelenky
Bevor Sie 'Iterator' definieren, ist es ein unvollständiger Typ, und Sie können nicht viel mit einem unvollständigen Typ machen. – AndyG
Es klingt mehr wie Sie möchten, dass Iterator von einer nach vorne deklarierten 'SortedList' abhängt und' SortedList' von einem kompletten 'Iterator' abhängt. – AndyG