我在做什麼錯?STL與自定義數據類型
#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;
}
我在做什麼錯?STL與自定義數據類型
#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
是雙端隊列的方法不是結構mystruct
的數字1 ..
正確的做法是:
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;
}
你已經聲明mydeque
爲mystruct
個容器。它最初是空的,當然沒有名爲number1
的公衆成員。
mydeque.push_front({77, 88});
的雙端隊列爲mystruct
類型和你試圖推動一個integer
。
感謝,這正是我想要的答案。 – 2009-12-24 06:03:14