STL mit einem benutzerdefinierten Datentyp
-
21-09-2019 - |
Frage
Was mache ich falsch?
#include <iostream>
#include <deque>
using namespace std;
struct mystruct {
int number1;
int number2;
};
int main() {
std::deque<mystruct> mydeque;
mydeque.number1.push_front(77);
return 0;
}
Lösung
push_front
ist eine Methode von Deque, nicht die Zahl1 der Struktur mystruct
..
Der richtige Weg ist:
struct mystruct {
int number1;
int number2;
mystruct(int n1, int n2) : number1(n1), number2(n2){}
};
int main() {
std::deque<mystruct> mydeque;
mydeque.push_front(mystruct(77,88));
return 0;
}
Andere Tipps
Das Deque ist vom Typ mystruct
Und du versuchst einen zu schieben integer
.
Sie haben erklärt mydeque
als Behälter von mystruct
s. Es ist anfangs leer und hat sicherlich kein öffentliches Mitglied namens number1
.
mydeque.push_front({77, 88});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow