Question: I need help calling an insert node function from another class. This is the student information and database class declarations: namespace cop3530 { class student_info

I need help calling an insert node function from another class.

This is the student information and database class declarations:

namespace cop3530 {

class student_info { std::string name; double gpa;

public: student_info(); student_info(std::string name, double gpa); etc... };

class student_db { // your bst cop3530::bst myDatabase;

public: student_db(); ~student_db(); void insert(const int student_id, const std::string &student_name, const double gpa); etc... };

}

In a separate .h file I have my binary search tree:

namespace cop3530 {

template class bst { struct node { Key key; T t; node *left = NULL; node *right = NULL;

node() {} node(Key k, T t): key(k), t(t) {} };

node *root = NULL;

public: bst(); ~bst(); void insert(const Key &key, const T &t); etc...

};

etc...

}

My constructor is,

student_db::student_db() { student_db *newDB = NULL; }

This is the part where I'm stuck.

void student_db::insert(const int student_id, const std::string &student_name, const double gpa) { student_info *newStudentInfo = new student_info(student_name, gpa); // This is where I need to send student_id and newStudentInfo to the insert function of the bst class. }

What is the syntax for accessing the insert function of the bst class so that I can add a new node to the binary search tree? Please help!

This is the error I'm getting when I try, myDatabase.insert(student_id, newStudentInfo);

error: no matching function for call to cop3530::bst::insert(const int&, cop3530::student_info*&) myDatabase.insert(student_id, newStudentInfo);

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!