STL с пользовательским типом данных - PullRequest
0 голосов
/ 24 декабря 2009

Что я делаю не так?

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

Ответы [ 3 ]

6 голосов
/ 24 декабря 2009

push_front - это метод deque, а не number1 структуры

Правильный путь:

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;
}
1 голос
/ 24 декабря 2009

Deque имеет тип mystruct, и вы пытаетесь нажать integer.

0 голосов
/ 24 декабря 2009

вы объявляете mydeque контейнером mystruct с.изначально он пуст и, конечно, не имеет публичного члена с именем number1.

mydeque.push_front({77, 88});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...