C ++ Vector给出了令人难以置信的意外价值

时间:2013-03-02 00:39:40

标签: c++ windows vector codeblocks

我有这段代码:

std::vector <int> loc;
loc.push_back(cpx);
loc.push_back(cpy);
loc.push_back(play.GetSize().x);
loc.push_back(70);
std::cout<<loc[3];

在我正在制作的游戏中,但即使我打印了loc [2]和loc [3]的值,它们与它们应该完全不同,当我运行此代码时,我得到loc [3]等于70070而不是70.有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:9)

您的代码中有一个忘记删除的coutendl的另一个\n。那个打印700,而70是代码示例中最后一行的正确输出。

将您的最后一行更改为std::cout<< " and loc[3] is: " << loc[3] << std::endl;以查看我的猜测是否正确,然后去寻找其他cout。