STL مع نوع بيانات مخصص
-
21-09-2019 - |
سؤال
ما الخطأ الذي افعله؟
#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});
لا تنتمي إلى StackOverflow