Шаблоны параметр выводится на этапе компиляции программы. Вам нужно явно указать сигнатуры функций, которые будут доступны в DLL в противном случае такая библиотека не имеет смысла.
Все инструменты для обертки есть (проверка на nullptr или has_value), поэтому написать её совсем не сложно. А вот выбор типа нотификации об ошибке и способе ее обработке лежит на ваших плечах
Думаю вот эта ссылка наведет вас на мысли почему такое может произойти. https://godbolt.org/z/d1z3bdsGe
Также для дебага выведите значение каждой итерации и сравните с ожидаемым значнием.
Код в студию. Что работает, что ломается и так далее. Классически передают большие объекты по ссылке или через указатель. Возможно, ваша проблема - область видимости
calculator212 разве только Яндекс использует С++ для веб бека? судя по первым запросам в гугле, С++ для бека используется во всех топовых компаниях. Тем более, не уверен, что все то легаси с нулевых/десятых годов (aka core) переписано на современные языки для большинства сервисов.
А в чем удобство такого подхода?
CLI с параметрами остается в истории терминала, легко править ошибки, поделиться инструкцией/команде.
А в вашем подходе сходу не вижу плюсов.
Текстовый поиск довольно непростая тема. Ищите готовую библиотеку или используйте хотя бы регекспы.
elif message.text == 'Человек-бензопила' сработает только если пользователь написал навазние с точностью до символа. То есть запрос "Человек бензопила", "человек-бензопила", в вашем случае не выведет никакого аниме, хотя по факту оно есть.
Опишите подробнее что за id, что храните в файле, что ищите. Всегда можно искать в несколько потоков (есть нюансы)/процессов, что кратно может ускорить поиск.
Если вы используете вот эту либу https://github.com/SFML/imgui-sfml
То, предположу, что ImGui::Image принимает ссылку, которая протухает, когда вы выходите из if и переходите в основной цикл приложения, в котором каждый кадр рисуется картинка.
Данное предположение легко проверить изменив время жизни переменной texture на статическое