我正在使用std::vector::push_back
a for-loop
,当我添加 if 条件时,它开始给出错误。
if(p>0) a[p]->vec.push_back(i)
其中a
是包含向量的结构。
该错误似乎不取决于条件。
struct link
{
vector<int>children;
int noOfchildren;
struct link * parent;
}
typedef struck link * node;
for(i=1;i<=n;i++)
{
a[i]=(node)malloc(sizeof(element));
scanf("%d",&p);
a[i]->parent=a[p];
a[i]->noOfchildren=0;
if(p>0)
a[p]->children.push_back(i);
}
a[0] 较早初始化。