【发布时间】:2012-06-14 16:43:44
【问题描述】:
我有一个 std::vector 的某种形式的类
class A{
public:
A():i(someNumber){}
void useI() const{
//do something with i
}
// No destructor defined
private:
int i;
};
我的代码循环遍历每个数据点并在数组中的每个元素上调用useI()。经过几百次迭代,变量i 被破坏了,我不知道为什么。这种情况可以复制。我知道这里没有太多细节,但任何关于检查内容的建议都非常感谢。
【问题讨论】:
-
似乎没有
someNumber的声明。 -
你是如何遍历向量的??
-
这确实不够详细,无法给出答案。将调用代码剥离为一个简短的工作示例并将其发布在此处。如果你幸运的话,你会在这样做的时候自己发现错误。
标签: c++ c memory gcc memory-corruption