c++ - 我制作的类的简单调用 vector "does not name a type"

标签 c++ class vector push-back

快速介绍 当我定义一个名为“token”的简单类时遇到问题,它由两个 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);

*免责声明*所以首先,我是一个彻头彻尾的菜鸟。我花了很多时间谷歌搜索/阅读/等试图找到答案。大多数时候我无法完全理解我正在阅读的内容,所以由于我认为我的问题可能非常简单,所以我希望有人能够帮助我。

我正在使用命名空间标准,请不要告诉我这是不好的做法。大声笑我只是在学习如何编码,它让我的生活变得简单多了。我正在调用正确的库。但我正在使用 SFML。

请帮忙 所以你能取悦我吗?我完全迷路了。请相信我,我浪费了一天的大部分时间阅读和阅读不同的论坛。 谢谢 :) 请保持简单

最佳答案

push_back 需要引用 token 对象

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

直接在vector中构造emplace_back

tok.emplace_back( 1, 1 );

我相信您需要 emplace_back,因为它效率更高。

关于c++ - 我制作的类的简单调用 vector "does not name a type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287729/

相关文章:

php - 当 Controller 类扩展父 Controller 时,为什么我们仍然需要父构造函数?

c++ - 将元素插入多维 vector 错误

c++ - 关于 vector.push_back

c++ - 创建集合 vector

c++ - 在这种情况下我应该使用引用成员吗?

java - Kotlin类实现Java接口(interface)报错

c++ - 在外部定义的 lambda 中捕获此内容

java - 用于确定 Java 中的类声明的强大正则表达式

c++ - Sprite 和子弹不移动 C++

c++ - 报错:access violation when I use StartServiceCtrlDispatcher(entrytable)