سؤال

ما الخطأ الذي افعله؟

#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;
}
هل كانت مفيدة؟

المحلول

push_front هي طريقة deque وليس رقم 1 للهيكل mystruct..

الطريقة الصحيحة هي:

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

نصائح أخرى

deque من النوع mystruct وأنت تحاول دفع integer.

لقد أعلن mydeque كحاوية من mystructس. إنه فارغ في البداية ، وبالتأكيد ليس لديه عضو عام يسمى number1.

mydeque.push_front({77, 88});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top