Я пытаюсь реализовать простую функцию get () в связанном списке, который может хранить различные типы данных
(Один список может хранить char, string, int, float, … в каждом узле)
class List{
//...
template<typename value_type>
value_type get();
}
//...
template<typename value_type>
value_type List::get(){
//...
}
Если я не использую этот метод, то компилирую успех, но когда я использую его, он делает эту ошибку.
Сбой вывода / замены аргумента шаблона:
не удалось вывести параметр шаблона ‘value_type’
Я нашел несколько похожих вопросов, но все эти случаи компилятор может выводить типы из аргументов.
Я думаю, что я должен написать некоторые коды в get (), но я не могу найти решение для этого.
Поскольку функция не принимает никаких аргументов, компилятор не может определить тип параметра шаблона из вызова. Таким образом, вы должны указать компилятору тип параметра шаблона. Например:
get<int>();
или используйте любой другой тип, который вы хотите, чтобы функция возвращала.
Других решений пока нет …