Domanda

Che cosa sto facendo di sbagliato?

#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;
}
È stato utile?

Soluzione

push_front è un metodo di deque non il numero1 della struttura di mystruct ..

Il modo giusto è:

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;
}

Altri suggerimenti

Il deque è di tipo mystruct e si sta tentando di spingere un integer.

hai dichiarare mydeque come contenitore di mystructs. E 'inizialmente vuoto, e di certo non ha un membro pubblico denominata number1.

mydeque.push_front({77, 88});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top