двоичное дерево — ошибка компилятора dev-c ++ без соответствующей функции

Я работал над этим кодом ранее, но у меня есть новая проблема, ссылка на старый Кровавые ошибки компилятора Dev-C ++ * Двоичные деревья.

У меня есть одна ошибка, которая заявляет, что в функции ‘int main ()’ нет соответствующей функции для вызова ‘binaryTreeType :: insert (int&) ‘кандидаты: void binaryTreeType :: insert () [с elemType = int] не совсем уверены, что это такое. Код размещен ниже, любая помощь приветствуется заранее.

#include <iostream>

using namespace std;

template <class elemType>
struct nodeType
{
int data;
nodeType *lLink;
nodeType *rLink;
};
template <class elemType>
class binaryTreeType //main class
{
public:
binaryTreeType(); //constructor
~binaryTreeType(); //destructor
void swapSubtreeNodes(); //declares swapSubtreeNodes
void swapSubtreeNodes(nodeType<elemType>*);
void insert();
void printTree();
private:
nodeType<elemType>*root; //declares root pointer
nodeType<elemType> *temp; //declares root pointer
};
template <class elemType>
void binaryTreeType<elemType>::swapSubtreeNodes()
{
swapSubtreeNodes(root); //displays new root
}
template <class elemType>
void binaryTreeType<elemType>::swapSubtreeNodes(nodeType<elemType> *p)
{
root = temp;
nodeType<elemType> *root; //pointer for root
nodeType<elemType> *temp; //pointer for temp
if (p == NULL) //checks for empty pointer
{
return;
}
else
{
swapSubtreeNodes(p->lLink); //do the subtrees
swapSubtreeNodes(p->rLink);
temp = p->lLink; //swap the pointers
p->lLink = p->rLink;
p->rLink = temp;
}
root = temp; //root set equal to temp
}
int main()
{
binaryTreeType<int> (tree);
int num;
cout << "This is how we swap'em" << endl;
cout << "Insert number (press enter after each one entered)." << endl;
cout << "Enter -999 to complete" << endl;
binaryTreeType<int> (insert);
cin >> num;
while (num != -999)
{
tree.insert(num);
cin >> num;
}
cout << "The unswapped binary tree looks like this: " << endl;
tree.printTree();
cout << endl;
cout << "The swapped binary tree looks like this: " << endl;
tree.swapSubtreeNodes();
tree.printTree();
cout << endl;}

-2

Решение

Функция-член шаблона binaryTreeType<elemType>::insert() не принимает аргументов Код пытается вызвать его с аргументом типа int,

1

Другие решения

Ваш insert Объявление метода не принимает никаких параметров.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector