【发布时间】:2012-11-14 23:36:33
【问题描述】:
struct LeafDataEntry
{
void *key;
int a;
};
int main(){
//I want to declare a vector of structure
vector<LeafDataEntry> leaves;
for(int i=0; i<100; i++){
leaves[i].key = (void *)malloc(sizeof(unsigned));
//assign some value to leaves[i].key using memcpy
}
}
我在上面的 for 循环中执行 malloc 时收到此代码的 SEG FAULT 错误....任何有关将内存分配给结构向量中的指针的替代方法的建议。
【问题讨论】:
-
向量如何知道它应该包含 100 个元素?
-
你的
key最终会存储什么类型的数据? -
@KerrekSB,天哪,我喜欢这个链接。现在很容易记住。
-
@KerrekSB:很有趣,因为在这种情况下是使用
std::vector导致了段错误...... -
@Anonymous - 问题是
leaves[i]不存在。到目前为止提供的两个答案解决了这个问题。
标签: c++ vector segmentation-fault std