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;
}
War es hilfreich?

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 mystructs. 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
scroll top