我想获得矢量
std::vector< std::vector<int> > Ticket;
从一个类(User)到另一个类(Game),以便操作那里的内容。
具体来说,我需要一个函数(compareNumbers)。
目前在main.cpp中我有这段代码:
#include "User.h"
#include "Game.h"
int k = game.compareNumbers(user.<int>Ticket);
(为简单起见,不必要的包含和其他代码遗漏)
在User.h中是vector(public)的声明,在User.cpp中填充了Vector。
我怀疑它更复杂,因为它是一个包含载体的载体,但我不确定。
在Game.cpp中我有
int Game::compareNumbers(std::vector< std::vector<int> > Ticket)
// Some code
我所提出的错误是“第一个&lt;成员名称'。在主要。 但是我怀疑还有更多的错误。
我想也许我应该通过参考传递,但我不确定。而且我不知道如何做到这一点,也可能是const,在compareNumbers中,我没有修改向量,纯粹将其内容与另一个向量的内容进行比较,再次,不确定?
答案 0 :(得分:1)
假设您的user
有成员Ticket
,您可以使用
Game::compareNumbers()
函数
int = game.compareNumbers(user.Ticket);
当声明事情时,这将复制std::vector<std::vector<int> >
,但这可能不是你想要的。如果你真的只是想查看数字(函数的名称表明你做了什么),你将使用const&
传递对象:
int Game::compareNumbers(std::vector<std::vector<int> > const& Ticker) {
// ...
}
如果compareNumbers()
实际上需要修改其参数,则省略const
但保留引用:如果没有引用,则传递和修改副本,这不会影响原始user.Ticket
1}}对象。