2013-04-29 77 views
0

我有一個問題,當我定義了一個簡單的類稱爲「令牌」,即由兩個int值,我快速介紹從這個類中創建一個向量。我無法使用'push_back'。編譯器告訴我,我的「不名一型」簡單呼叫矢量

代碼示例我的類定義的 //例如

class token{ 
public: 
int hi; 
int hello; 

token(int hi, int hello) 
:hi(hi), hello(hello){} 
}; 

//這是我如何調用和使用類

vector<token> tok; 
tok.push_back(1,1); 

* 免責聲明 *首先,我是一個完整的noob。我花了很多小時的Google搜索/閱讀/等試圖找到答案。大部分時間我都不能完全理解我在讀的內容,因爲我相信我的問題可能非常簡單,我希望有人能夠幫助我。

我使用命名空間標準,請不要告訴我,這是不好的做法。大聲笑我只是在學習如何編寫代碼,這讓我的生活變得更加簡單。我打電話給正確的圖書館。但我正在使用SFML。

請幫忙所以,你可以請我。我完全失去了。請相信我,我浪費了閱讀和閱讀不同論壇一天中更好的一部分。 謝謝:)請保持它的簡單

+0

我試過tok.push_back();和其他幾個變種 – Krtko 2013-04-29 20:36:36

回答

7

的push_back需要參考令牌對象

tok.push_back(token(1,1)); 

其中emplace_back直接

tok.emplace_back(1, 1); 

我相信你想要的emplace_back,因爲它更多的是載體構建高效。

+0

O哇,非常感謝你 – Krtko 2013-04-29 20:45:47

+0

我不能接受答案,但哈哈,謝謝老兄! – Krtko 2013-04-29 20:46:17

+0

@Krtko歡迎您! – yngccc 2013-04-29 20:47:10