On my overloaded constructor for Node, I'm getting an error saying that 'No instance of overloaded function Node::Node matches the specified type'. What is the deal?
The faulty line of code doesn't seem to be in what you show. The error is most likely in your calls to new Node(....). Show your constructions of new nodes.
Only thing I see that's obviously wrong is that you are redefining the default parameters. You should only do that in the prototype. Get rid of the default params on line 35.
Also, what do you mean by the std::string; is that a #include?
No, <string> is the #include, but the string class is actually inside the std namespace. So unless you have usingnamespace std;, you need to fully qualify the name as std::string.
For example line 9 should be std::string name; instead of just string name;
Likewise, you'd need to change all occurances of string the same way. Alternatively you can put usingnamespace std; or using std::string; under your includes.
After making those two changes, the code compiles fine here.