【发布时间】:2017-03-11 15:51:57
【问题描述】:
抱歉,我无法粘贴完整的代码,但我会尽力解释问题。我有一个结构向量。我将向量传递给一个函数,该函数用结构填充向量并返回向量。但是当我尝试访问向量元素时,我只插入了最后一个元素。我认为问题出在我存储结构地址的地方,因此向量只保留最后一个值,但我不知道如何纠正这个问题。
这是我的结构:
struct NA
{ element1;
element2;
};
这是我在声明向量后传递向量的方式:
Vector<NA> del;
func(del);
这是我的函数:( q 是一个具有存储过程结果的变量
func(Vector<NA> &dels)
{
NA& del(*new NA);
while(q.nextquery())
{
while(q.nextrow())
{
q.bind(del.element1);
q.bind(del.element2);
dels.insert(&del);
}
return dels.entries()
}
【问题讨论】:
-
请根据需要发布minimal reproducible example。
-
调试器是解决此类问题的正确工具。 在询问 Stack Overflow 之前,您应该逐行浏览您的代码。如需更多帮助,请阅读How to debug small programs (by Eric Lippert)。至少,您应该 [编辑] 您的问题,以包含一个重现您的问题的 Minimal, Complete, and Verifiable 示例,以及您在调试器中所做的观察。
-
我的公司有一些限制,我不能使用像 intellij 和 eclipse 这样的工具。如果这是java,我肯定会调试我的代码,但在这里很难,如果可能的话,希望有一个解决方案:)
标签: c++ pointers vector reference structure