Ошибка: нет соответствующей функции для вызова, однако я считаю, что параметры функции совпадают [закрыто] ⇐ C++
Ошибка: нет соответствующей функции для вызова, однако я считаю, что параметры функции совпадают [закрыто]
Для практики C++ я разрабатываю собственное (шаблонное) двоичное дерево поиска. Я столкнулся с проблемой с моими функциями «печати», которые я собираюсь пройти по дереву и заполнить его печатную структуру. Я получаю сообщение об ошибке «Нет соответствующей функции для вызова» от компоновщика, хотя считаю, что тип входного параметра для рассматриваемого метода (printFromTail) правильный.
TreeNode.h (TreeNode.cpp — это заглушка, поскольку методы шаблона должны быть в заголовке...)
#include #include #include используя std::string; используя стандартный:: список; шаблон класс TreeNode { частный: значение Т; TreeNode * родительский; TreeNode * слева; TreeNode * правильно; статическая структура list; публика: TreeNode (T val); пустая вставка (T val); TreeNode * find(T val); TreeNode * максимум(); TreeNode * минимум(); Т получить значение(); bool удалить (T val); void printFromTail (хвост строки); недействительная печать(); //другой класс Tree; }; // // определения функций // не имеет отношения к этой проблеме.. // шаблон void printFromTail (хвост строки) { // добавляем в структуру list } шаблон недействительная печать() { строка пустая = ""; вернуть printFromTail(пусто); } Я ожидаю, что компоновщик прекрасно справится с этим. printFromTail принимает строковый аргумент, и я передаю ему строку в методе print(). Однако компоновщик говорит:
philipb@Philips-MacBook-Pro Tree2 % g++ -g *.cpp -o TreeMain В файле, включенном в TreeMain.cpp:2: ./TreeNode.h:214:12: ошибка: нет соответствующей функции для вызова printFromTail. вернуть printFromTail(пусто); ^~~~~~~~~~~~~ ./TreeNode.h:204:6: примечание: шаблон-кандидат игнорируется: не удалось вывести аргумент шаблона 'T' void printFromTail (хвост строки) ^ Возникла 1 ошибка. В файле, включенном в TreeNode.cpp:1: ./TreeNode.h:214:12: ошибка: нет соответствующей функции для вызова printFromTail. вернуть printFromTail(пусто); ^~~~~~~~~~~~~ ./TreeNode.h:204:6: примечание: шаблон-кандидат игнорируется: не удалось вывести аргумент шаблона 'T' void printFromTail (хвост строки) ^ Возникла 1 ошибка.
Для практики C++ я разрабатываю собственное (шаблонное) двоичное дерево поиска. Я столкнулся с проблемой с моими функциями «печати», которые я собираюсь пройти по дереву и заполнить его печатную структуру. Я получаю сообщение об ошибке «Нет соответствующей функции для вызова» от компоновщика, хотя считаю, что тип входного параметра для рассматриваемого метода (printFromTail) правильный.
TreeNode.h (TreeNode.cpp — это заглушка, поскольку методы шаблона должны быть в заголовке...)
#include #include #include используя std::string; используя стандартный:: список; шаблон класс TreeNode { частный: значение Т; TreeNode * родительский; TreeNode * слева; TreeNode * правильно; статическая структура list; публика: TreeNode (T val); пустая вставка (T val); TreeNode * find(T val); TreeNode * максимум(); TreeNode * минимум(); Т получить значение(); bool удалить (T val); void printFromTail (хвост строки); недействительная печать(); //другой класс Tree; }; // // определения функций // не имеет отношения к этой проблеме.. // шаблон void printFromTail (хвост строки) { // добавляем в структуру list } шаблон недействительная печать() { строка пустая = ""; вернуть printFromTail(пусто); } Я ожидаю, что компоновщик прекрасно справится с этим. printFromTail принимает строковый аргумент, и я передаю ему строку в методе print(). Однако компоновщик говорит:
philipb@Philips-MacBook-Pro Tree2 % g++ -g *.cpp -o TreeMain В файле, включенном в TreeMain.cpp:2: ./TreeNode.h:214:12: ошибка: нет соответствующей функции для вызова printFromTail. вернуть printFromTail(пусто); ^~~~~~~~~~~~~ ./TreeNode.h:204:6: примечание: шаблон-кандидат игнорируется: не удалось вывести аргумент шаблона 'T' void printFromTail (хвост строки) ^ Возникла 1 ошибка. В файле, включенном в TreeNode.cpp:1: ./TreeNode.h:214:12: ошибка: нет соответствующей функции для вызова printFromTail. вернуть printFromTail(пусто); ^~~~~~~~~~~~~ ./TreeNode.h:204:6: примечание: шаблон-кандидат игнорируется: не удалось вывести аргумент шаблона 'T' void printFromTail (хвост строки) ^ Возникла 1 ошибка.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Я считаю, что управление памятью в Ubuntu менее эффективно, чем в Window. Почему? [закрыто]
Anonymous » » в форуме Linux - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Нет соответствующей функции для вызова 'begin(const std::string_view [0])' [дубликат]
Anonymous » » в форуме C++ - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-