Pergunta

O que estou fazendo errado?

#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;
}
Foi útil?

Solução

push_front é um método de deque não o número1 de estrutura mystruct..

O caminho certo é:

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

Outras dicas

O deque é do tipo mystruct E você está tentando empurrar um integer.

você declarou mydeque Como um recipiente de mystructs. está inicialmente vazio e certamente não tem um membro público chamado number1.

mydeque.push_front({77, 88});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top