Сообщение Re: Одна функция для разных типов от 25.08.2025 16:45
Изменено 25.08.2025 16:46 rg45
Re: Одна функция для разных типов
Здравствуйте, Su34, Вы писали:
S>Две функции выполняют одно и тоже, различаются по типам.
S>
S>Можно ли объединить в одну функцию (или шаблон)? Хочется следующее:
S>
S>Спасибо!
Если я правильно понял, то главная цель — не экономия нескольких строк кода, а возможность унифицированного вызова?. Тогда можно просто написать обёртку с двумя перегрузками:
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 search(const char* mask) { return search(mask); }
void search(const wchar_t* mask) { return wsearch(mask); }
Re: Одна функция для разных типов
Здравствуйте, Su34, Вы писали:
S>Две функции выполняют одно и тоже, различаются по типам.
S>
S>Можно ли объединить в одну функцию (или шаблон)? Хочется следующее:
S>
S>Спасибо!
Если я правильно понял, то главная цель — не экономия нескольких строк кода, а возможность унифицированного вызова?. Тогда можно просто написать обёртку с двумя перегрузками:
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); }