Итак, я создаю проверку орфографии, и у меня это в качестве класса TrieNode:
class TrieNode{
public:
bool isWord;
char word[100][20];
TrieNode* letter[alphabetSize];
У меня есть метод вставки внутри класса Tr ie, который:
void insert(TrieNode* root, char* wordInsert);
Я смог вставить буквы char * word в свой tr ie
Вот что у меня есть для моей функции вставки:
void Trie::insert(TrieNode* root, char* wordInsert) {
TrieNode* currentNode = root;
int wordLength = strlen(wordInsert);
for (int i = 0; i < wordLength; i++) {
//strcpy(currentNode->word[i], currentNode->letter);
int index = wordInsert[i]- 'a';
if(!currentNode->letter[index]){
currentNode->letter[index] = new TrieNode();
}
currentNode = currentNode->letter[index];
}
currentNode->isWord = true;
}
Теперь я хочу вставить текущий -> буква [i] в мой другой массив char * в моем классе TrieNode с именем word
Я пытался выполнить
strcpy(currentNode->word, currentNode->letter[i])
, но я получаю сообщение об ошибке:
Нет функция соответствия для вызова 'strcpy'
Как бы я мог получить элементы из массива букв в массив с именем word, который также находится в моем классе TrieNode