Сбой вывода / замены аргумента шаблона c ++ в функции void

Я пытаюсь реализовать простую функцию 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 (), но я не могу найти решение для этого.

-1

Решение

Поскольку функция не принимает никаких аргументов, компилятор не может определить тип параметра шаблона из вызова. Таким образом, вы должны указать компилятору тип параметра шаблона. Например:

get<int>();

или используйте любой другой тип, который вы хотите, чтобы функция возвращала.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]