C++: pas de correspondance constructeur d'initialisation / candidat constructeur pas viable: nécessite un seul argument, mais non les arguments ont été fournis

Je suis en train de mettre en œuvre une liste liée dans C++ et ne savez pas comment réparer l'erreur donnée ci-dessous. J'apprécierais toute aide au débogage et, plus important encore, l'explication de tous les concepts sous-jacents que je n'ai pas compris concernant cette erreur. Merci.

Voici mon erreur:

linkedList.cpp:19:23: error: no matching constructor for initialization of 'NodeType'
        newnode = new NodeType;
                      ^
./linkedList.h:10:9: note: candidate constructor not viable: requires single argument 'str', but no arguments
      were provided
        NodeType(const std::string str);
        ^
./linkedList.h:4:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1
      argument, but 0 were provided
class NodeType
      ^
linkedList.cpp:54:29: error: no matching constructor for initialization of 'NodeType'
    NodeType* newnode = new NodeType;
                            ^
./linkedList.h:10:9: note: candidate constructor not viable: requires single argument 'str', but no arguments
      were provided
        NodeType(const std::string str);
        ^
./linkedList.h:4:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1
      argument, but 0 were provided
class NodeType
      ^

Voici mon NodeType classe dans mon linkedList.h fichier:

  3 //define the node class
  4 class NodeType
  5 {
  6     private:
  7         std::string value;
  8         NodeType* next;
  9     public:
 10         NodeType(std::string str);
 11     friend class LinkedList;
 12 };

Ici est la méthode de la linkedList.cpp le fichier pour la première erreur:

 10 LinkedList::LinkedList(const LinkedList& src)
 11 {
 12     head = NULL;
 13     NodeType* srccur; //node that is currently in src
 14     srccur = src.head;
 15 
 16     NodeType* pre = NULL; //predecessor of the new node
 17     while (srccur != NULL) //have not finished yet
 18     {   NodeType* newnode;
 19         newnode = new NodeType;
 20         if (newnode == NULL) //dynamic allocation failed
 21             { cout << "Memory allocation error" << endl;
 22                 exit(1);
 23             }
 24 
 25     newnode->value = srccur->value;
 26 
 27     if (pre == NULL)    //the new node becomes the 1st node
 28         head = newnode;
 29     else    //the new node is attached to the end
 30         pre->next = newnode;
 31 
 32     newnode->next = NULL;
 33 
 34     pre = newnode;
 35     srccur = srccur->next;
 36     }
 37 };

Ici est la méthode de la linkedList.cpp fichier pour la deuxième erreur:

 53 bool LinkedList::insertFirst(string v){
 54     NodeType* newnode = new NodeType;
 55 
 56     if (newnode == NULL) //dynamic allocation failed
 57     {
 58         return false;
 59     }
 60 
 61     newnode->value = v;
 62     newnode->next = head;
 63 
 64     head = newnode;
 65 
 66     return true;
 67 };