2013-04-29 74 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