2009-12-24 111 views
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; 
} 

回答

6

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

感謝,這正是我想要的答案。 – 2009-12-24 06:03:14

0

你已經聲明mydequemystruct個容器。它最初是空的,當然沒有名爲number1的公衆成員。

mydeque.push_front({77, 88}); 
1

的雙端隊列爲mystruct類型和你試圖推動一個integer