私は非二分木構造に取り組んでいるので、次のように定義された構造体があり、データがあり、その子はすべて子と呼ばれるベクトルにあります。
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 関数内で反復子を定義しようとしましたが、エラーが発生し続けます。コードを変更する方法について何か提案はありますか?