我有类Team,其属性为“Points”。 在另一个sheet.cpp中,我想用这样的函数改变这一点:
void Result(Team a, Team b)
{
int startWerte[] = { 8, 8 };//just random start values)
std::vector< int > punkte(startWerte, startWerte + sizeof(startWerte) / sizeof(int));
points[0]=a.getpoints();
points[1]=b.getpoints();
下面是一些计算,它以点2中存储的点的最终值结束。现在我想将它们设置为团队的要点,以便存储它们。
a.setpoints(points[0])
b.setpoints(points[1]);
它们是正确的值,但只要此函数结束,值就不会正确存储在team.points中。如果我通过让Result函数返回points2向量来执行它,让我们说int main()中的向量testvector就可以了。示例
vector<int> testvector;
testvector =Result(TeamA, TeamB) {//Same code than before follows
TeamA.setpoints(testvector[0];
TeamB.setpoints(testvector[1];
如果我重复结果函数,则每一个都存储正确。有没有办法将团队类的值存储在int main()之外?
答案 0 :(得分:2)
我认为您的问题是您按价值而非参考传递Team
。
将Result
方法更改为
void Result(Team & a, Team & b)
一切都应该没问题。