Я получаю сообщение об ошибке в функции * insert_nodes:
ошибка: ожидаемый конструктор, деструктор или преобразование типов перед '(' токен
У меня также есть проблема с той же функцией, из-за которой мне нужно переопределить «узлы int» как параметр функции. но я думаю, что нет необходимости писать это так:
*insert_nodes(start, int nodes)
вместо того, чтобы быть таким:
*insert_nodes(start,nodes)
Еще одна ошибка, связанная с get в getch (). При компиляции в Netbeans он просто показывает ошибку в этом месте, но не указывает, какой тип ошибки.
struct tree_traversal
{
int data;
tree_traversal *left; //left subtree
tree_traversal *right; //right subtree
};
tree_traversal *insert_nodes(tree_traversal *start, int nodes);
void preOrderTraversal(tree_traversal *start);
void postOrderTraversal(tree_traversal *start);
void inOrderTraversal(tree_traversal *start);
int counter = 1;
int main(int argc, char **argv)
{
int choice, nodes;
do
{
switch(choice)
{
case 1:
cout<<"\n\t\a\a Enter the Values:\a\a";
cin>>nodes;
start=insert_nodes(start,nodes);
break;
case 2:
cout<<"\n\t\a\a The Values for In-Order Tree traversal is: \a\a"<<endl;
preOrderTraversal(start);
break;
case 3:
cout<<"\n\t\a\a The Values for In-Order Tree traversal is: a\a"<<endl;
postOrderTraversal(start);
break;
case 4:
cout<<"\n\t\a\a The Values for In-Order Tree traversal is: \a\a"<<endl;
inOrderTraversal(start);
break;
case 5:
exit(0);
}
} while(choice != 5);
return 0;
}
tree_traversal *insert_nodes(tree_traversal *start, int nodes)
{
if(start == NULL)
{
start = new tree_traversal;
start ->left = start ->right = NULL;
start ->data = nodes;
counter++;
}
else if(counter%2 == 0)
start ->left = insert_nodes(start ->left,nodes);
else
start ->right = insert_nodes(start ->right,nodes);
return(start);
}
void preOrderTraversal(tree_traversal *start)
{
if(start != NULL)
{
cout<<start ->data;
preOrderTraversal(start->left);
preOrderTraversal(start->right);
getch();
}
}
void postOrderTraversal(tree_traversal *start)
{
if(start != NULL)
{
postOrderTraversal(start->left);
postOrderTraversal(start->right);
cout<<start ->data;
getch();
}
}
void inOrderTraversal(tree_traversal *start)
{
if(start != NULL)
{
inOrderTraversal(start->left);
cout<<start ->data;
inOrderTraversal(start->right);
getch();
}
}