Re: Одна функция для разных типов
От: rg45 СССР  
Дата: 25.08.25 16:45
Оценка:
Здравствуйте, Su34, Вы писали:

S>Две функции выполняют одно и тоже, различаются по типам.

S>
void search(const char* mask)
S>{
S>    _finddata_t fd;
S>    _findfirst(mask, &fd);
S>}
S>void wsearch(const wchar_t* mask)
S>{
S>    _wfinddata_t fd;
S>    _wfindfirst(mask, &fd);
S>}

S>Можно ли объединить в одну функцию (или шаблон)? Хочется следующее:
S>
asearch("*.txt");    // выполняется search 
S>asearch(L"*.txt");    // выполняется wsearch

S>Спасибо!

Если я правильно понял, то главная цель — не экономия нескольких строк кода, а возможность унифицированного вызова?. Тогда можно просто написать обёртку с двумя перегрузками:

void asearch(const char* mask) { return search(mask); }
void asearch(const wchar_t* mask) { return wsearch(mask); }


Ну или просто переименовать обе исходные функции в asearch.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 25.08.2025 17:10 rg45 . Предыдущая версия . Еще …
Отредактировано 25.08.2025 16:46 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.