Ich ändere meinen Code, damit es mir besser passt.Von Arrays zu Struktur ändern, die Arrays enthält
Ich hatte:
deque<array<array<int,4>,4>> visited;
Jetzt habe ich:
deque<New_Array> visited;
wo New_Array ist:
struct New_Array {
array<array<int,4>,4> pinak;
int h;
}Jim;
mein Array ist wie folgt:
array<array<int,4>,4> myarray;
Das Problem ist, dass ich eine else-if-Funktion wie folgt aus:
else if (find(visited.begin(), visited.end(), myarray)==visited.end())
Diese Funktion prüft, ob ein Array in dem besuchten Stack-deque ist. Wenn nicht, funktioniert die else-Funktion. Aber jetzt muss die besuchte Deque Strukturen enthalten, keine Arrays. Wie kann ich diese Funktion mit den neuen Containern der Deque umwandeln?
Ich machte diese Änderung, so dass jedes Array mit einer Nummer (h) verbunden werden konnte. Ich muss das Array überprüfen, mir ist die Nummer egal.
EDIT:
Fehler C2678: binary '==': fand keinen Operator, der einen linken Operanden des Typs 'New_Array' nimmt (oder es ist kein akzeptabler Umwandlung)
Zu Ihrer Bearbeitung müssen Sie die Funktion 'bool operator == definieren (const NewArray & n, const array, 4> & a) {return n.pinak == a); } ' –
@ Robᵩ Diese Funktion funktioniert für mich. Bitte machen Sie einen Post davon, damit ich diese Antwort annehmen kann. –
Das war die Antwort von DRVic, mein Kommentar füllte es einfach aus. Gehen Sie weiter und akzeptieren Sie seine Antwort, da das Ihr Problem gelöst hat. –