快速介绍 当我定义一个名为“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/