Это нельзя, initializer_list — это тонкая прослойка, позволяющая инициализировать вектор из линейного массива. Ни на что большее она не нужна.
У вас есть какая-то странность —
SearchVektor<unsigned int> мы инициализируем из вектора
vector<int>. Это вообще ни в какие ворота не пишется. Для данного случая вам нужно…
1.
vector<int> liste превратить в
vector<unsigned int>.
2. Написать конструктор, работающий из временного вектора:
SearchVektor(std::vector<T> && t ). Такой конструктор будет очень быстрым, ибо дерёт всю информацию из t, оставляя в нём пустоту.
3. Объявить liste временным —
return SearchVektor< unsigned int> (std::move(liste));