0

私は非二分木構造に取り組んでいるので、次のように定義された構造体があり、データがあり、その子はすべて子と呼ばれるベクトルにあります。

struct node{
   string data;
   vector< node* > child;
   vector<node*>::iterator i
   int Count;
};

ベクトルに子を出力するために定義した別の関数がありますが、イテレータを動作させることができません

void printTree(node* &a){

    for(a->i = a->child.begin(); a->i !=a->child.end();++i)
        cout << *(a->i)->data <<endl;
}

printTree が呼び出されたときにイテレータが定義されていないというエラーが表示されます。printTree 関数内で反復子を定義しようとしましたが、エラーが発生し続けます。コードを変更する方法について何か提案はありますか?

4

1 に答える 1