Я пишу виртуальный метод, и один из его параметров std::vector
.Внутри я использую std::unordered_set
с теми же value_type
из std::vector
.
Но я могу изменить value_type
из std::vector
, и я не хочу менять каждый разтип внутри кода.Чтобы лучше понять, что я говорю (английский не является моим родным языком), просмотрите приведенный ниже код, пожалуйста.
run(std::vector<Node> &data) {
std::unordered_set<Node> var;
}
И что я ожидаю, это что-то вроде этого:И, конечно, это не работает.Заранее спасибо.
РЕДАКТИРОВАТЬ: Большое спасибо за ответы, и особенно этот: https://stackoverflow.com/a/56563062/11203604
Ответы с шаблоном функции, это невозможно: это перегруженофункция (виртуальная).Что касается шаблона класса, по технической причине в своей будущей работе я не могу сделать его шаблоном, поскольку он может быть общедоступным классом.
Спасибо.