我很难发现我的代码有什么问题 - 起初我以为我完成了,但后来发现了一些问题。我创建了一个名为bagIntersection的函数,该函数使用两个袋子对象并在两者中找到常用项目,然后将它们放入一个新袋子中:查找两个阵列的交叉点
例如,如果袋子包含项目{“b”,“b”,“c “}和BAG2有项目{” b “b”, “d”, “E”},函数调用:
ArrayBag<std::string> resultBag = bag.bagIntersection(bag2);
只应在resultBag返回字符串 “b” 我的功能bagIntersection是返回{ “b”, “b”}到resultBag,所以某种程度上我得到的 “b” 的倍数。
(代码中删除)的代码是正确的。
解决此类问题的正确工具是您的调试器。在*堆栈溢出问题之前,您应该逐行执行您的代码。如需更多帮助,请阅读[如何调试小程序(由Eric Lippert撰写)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,您应该\编辑您的问题,以包含一个[最小,完整和可验证](http://stackoverflow.com/help/mcve)示例,该示例再现了您的问题,以及您在调试器。 –
这是一种练习吗?我认为你可以通过使用例如'std :: set'来解决它更容易 – user463035818
我看不出有什么问题。 “{”b“,”b“,”c“}和'{”b“,b”,“d”,“e”}'*的交集是*'{“b”,“b”} '。 – Nelfeal