Я пытаюсь написать класс интерфейса, в котором пользователь предоставляет свою реализацию в виде DLL. В рамках этого интерфейса есть некоторые функции-члены, которые возвращают выведенный тип, определенный во время выполнения, например:
auto someFunction(int x) -> decltype(auto)
У меня возникли проблемы с предоставлением доступа к этим функциям клиентскому приложению. Я попытался провести некоторое исследование по этому вопросу, и кажется, что наиболее популярным решением для экспорта функций-членов является объявление их виртуальными, чтобы использовать vtable. Я попробовал этот метод, но получил ошибку "виртуальная функция не может иметь выведенный тип возвращаемого значения". Существуют ли альтернативы подходу vtable?
Спасибо.