我正在尝试将Student类的指针传递给二叉树的函数,但是我收到一条错误,说没有包含输入参数的函数,我认为这是因为我传入的是对象指针,但我不知道如何解决这个问题,任何帮助都将不胜感激。
这是我的代码:
demo.cpp: #include
Me.Controls(TFNum & "Wet") = False
ETree.h
#include <fstream> //read files
#include <cstdlib> //c standard library
#include "ETree.h"
#include "Student.h"
#include <string>
using namespace assignment3;
using namespace std;
int main()
{
ETree<Student> * BinaryTree = new ETree<Student>();
delete BinaryTree;
ifstream input;
input.open("stuText.txt");
if (!input)
{
cerr << "Text file not opened!";
exit(1);
}
else
{
string word;
int num;
Student* inst;
while(input >> word >> num)
{
inst = new Student(word, num);
BinaryTree->add(inst);
}
}
return 0;
}
ETree.template (相关部分)
#ifndef ETREE_H
#define ETREE_H
#include "BTNode.h"
namespace assignment3
{
template <typename Student>
class ETree
{
public:
ETree();
ETree(Student inst);
~ETree();
bool add(Student inst);
private:
BTNode<Student>* rootPtr;
};
//template <typename object>
//std::istream& operator>>(std::istream& in, Queue<object>& queue);
}
#include "ETree.template"
#endif
答案 0 :(得分:0)
可能这可行.. 假设所有类和函数,因为OP给出数据输入不足。我希望你的意思是你要传递对象的指针。 代码:
#include <iostream>
class student
{ //whatever you want
};
void pass_pointer (student* ptr)
{ // whatever you want
}
int main ()
{
student* temp;
pass_pointer (temp);
return 0;
}
您可以按照以下方法编写您想要做的任何事情,我的意思是二叉树,无论如何....希望您的问题得到解决。
如果这可以解决您的问题,那么值得称赞,如果这不能回答您的问题,请在下面的评论中说明,我会相应地进行编辑。